如何以附加模式-scheme R5RS写入文件?

时间:2017-04-11 13:27:50

标签: scheme guile r5rs

(call-with-output-file "b.txt"
(lambda (output-port)
(display "hello, world" output-port)))

如何在追加模式下打开b.txt。这样,我的结果将附加在文本文件中。我在下面找到了一些答案。但这不是我所期待的。

Append in scheme

我想使用" call-with-output-file"。因为我发现这个正常工作。有了这个call-with-output文件,我该怎么追加?

1 个答案:

答案 0 :(得分:1)

您提到的链接提供了正确的解决方案。在guile中,ÓscarLópez的建议不起作用,因为其call-with-output-file没有#:exists个关键字。但是,这应该有效:

(let ((output-port (open-file "my.txt" "a")))
  (display "hello, world" output-port)
  (newline output-port)
  (close output-port))

您可以在call-with-output-file中找到ice-9/boot-9的代码。扩展它以支持追加是很容易的。