文件I/O操作 - 方案

JJu*_*ior 5 io scheme racket

有人能指出我在Scheme中的基本文件I/O操作示例吗?

我只想尝试对文件进行基本的读/写/更新操作.

发现很难,因为没有适当的资源可供学习.

Vij*_*hew 15

在任何符合R5RS的方案中读取/写入文件的最简单方法是:

;; Read a text file
(call-with-input-file "a.txt"
  (lambda (input-port)
    (let loop ((x (read-char input-port)))
      (if (not (eof-object? x))
          (begin
            (display x)
            (loop (read-char input-port)))))))

;; Write to a text file
(call-with-output-file "b.txt"
  (lambda (output-port)
    (display "hello, world" output-port))) ;; or (write "hello, world" output-port)
Run Code Online (Sandbox Code Playgroud)

Scheme具有端口概念,表示可以在其上执行I/O操作的设备.计划助理的大多数实现call-with-input-file,并call-with-output-file用文字磁盘文件,你可以放心地使用它们.


Eli*_*lay 2

它主要是特定于实现的。鉴于您使用的是球拍,请参阅指南部分参考手册