Lisp 如何在tinyscheme中写入文件?

Lisp 如何在tinyscheme中写入文件?,lisp,scheme,Lisp,Scheme,方案实施:tinyscheme 以下是我的尝试: (with-output-to-file "biophilia.c" (lambda (output-port) (write "Hello" output-port))) Ceates biophilia.c包含以下内容: 错误:(:26)参数不足 我做错了什么?怎么修理 (define (with-output-to-file s p) (let ((outport (open-output-file s)))

方案实施:tinyscheme

以下是我的尝试:

(with-output-to-file "biophilia.c"
  (lambda (output-port)
    (write "Hello" output-port)))
Ceates 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)))))

您调用的
输出到文件时不正确

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

所以你可以这样称呼它:

(with-output-to-file "biophilia.c"
  (lambda ()
    (write "Hello")))
输出到文件
已为您重新绑定当前端口(正如您在重建中尝试的那样)


查看Racket文档以了解它。

您正在调用
,但输出到文件的
不正确

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

所以你可以这样称呼它:

(with-output-to-file "biophilia.c"
  (lambda ()
    (write "Hello")))
输出到文件
已为您重新绑定当前端口(正如您在重建中尝试的那样)


查看Racket文档。

拜托,伙计,调用的函数和定义的函数有不同的名称@leppie好的,重新编写了%D我想尝试用它交换我手臂上的lua。拜托,伙计,调用的函数和定义的函数有不同的名称@leppie好的,重新编写了%D我想尝试用它交换我手臂上的lua。分段错误:)但它可以工作,它会写入文件,然后分段错误:(@Sholy:尝试另一个方案。代码应该可以工作。我真的怀疑TinyScheme是这里的错。哪一个,我需要arm的轻型嵌入式方案。Tiny是我发现的最著名的方案。@Sholy:你可以试试Gambit。如果在Android上,你可以试试Kawa。@Sholy:也可能是因为写入到了没有写入权限的位置。fault:)但它可以工作,它会写入文件,然后执行以下操作:(@Sholy:尝试另一个方案。代码应该可以运行。我真的怀疑TinyScheme在这里出了问题。哪一个,我需要arm的轻型嵌入式方案。Tiny是我发现的最著名的方案。@Sholy:你可以试试Gambit。如果在Android上,你可以试试Kawa。@Sholy:也可能是因为写入到了没有写入权限的位置。