2017-04-11 90 views
0
(call-with-output-file "b.txt" 
(lambda (output-port) 
(display "hello, world" output-port))) 

如何以追加模式打开b.txt。所以,我的结果将被附加在文本文件中。我在下面找到了一些答案。但那不是我所期望的。如何以追加模式写入文件-scheme R5RS?

Append in scheme

我想用“呼叫与输出文件”的工作。因为我觉得这个工作正常。通过这个调用输出文件,我该如何追加?

回答

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。将其扩展以支持附加将很容易。