2

既存のファイルにテキストを書き込む簡単なプログラムを作成しました。

;; 既存のファイルに書き込む

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

しかし、ファイルが存在しない場合は作成するように変更したいと思います。ファイルが存在する場合、ファイルの以前の内容を削除せずにファイルに書き込む必要があります。チキンスキームで書いています。何か案は?

4

1 に答える 1

6

チキンスキームでこれを試してください:

(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))
于 2012-05-04T01:16:46.213 に答える