将数据写入方案中不存在的文件(通过程序创建后)



>我做了一个简单的程序来将文本写入现有文件:

;; 写入现有文件

(define write-to-a-file
  (lambda (path txt)
    (call-with-output-file path
      (lambda (output-port)
        (write txt output-port)))))

但是我想修改它,以便如果该文件不存在,则应创建它。如果该文件存在,则它应该写入该文件,而不删除该文件的先前内容。我正在写鸡肉计划。有什么想法吗?

试试这个鸡方案:

(define (write-to-a-file path txt)
  (call-with-output-file path
    (lambda (output-port)
      (write txt output-port))
    #:append))

或者这个对于球拍:

(define (write-to-a-file path txt)
  (call-with-output-file path
    (lambda (output-port)
      (write txt output-port))
    #:exists 'append))