gpt4 book ai didi

lisp - 如何写入tinyscheme中的文件?

转载 作者:太空宇宙 更新时间:2023-11-03 18:47:00 25 4
gpt4 key购买 nike

方案实现:tinyscheme

这是我的尝试:

(with-output-to-file "biophilia.c"
(lambda (output-port)
(write "Hello" output-port)))

创建具有以下内容的 biophilia.c:

错误:( : 26) 参数不足

我在这里做错了什么?如何修复?

(define (with-output-to-file s p)
(let ((outport (open-output-file s)))
(if (eq? outport #f)
#f
(let ((prev-outport (current-output-port)))
(set-output-port outport)
(let ((res (p)))
(close-output-port outport)
(set-output-port prev-outport)
res)))))

最佳答案

您错误地调用了 with-output-to-file

第二个参数是一个 thunk,而不是一个需要端口参数的过程。

这样调用它:

(with-output-to-file "biophilia.c"
(lambda ()
(write "Hello")))

with-output-to-file 已经为您重新绑定(bind)了当前端口(正如您在重建中尝试的那样)。

查看 Racket 文档 here .

关于lisp - 如何写入tinyscheme中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10908660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com