从Scheme中的列表中删除字符

时间:2012-05-06 22:35:33

标签: scheme racket

例如

我有一个文件testing.txt,内容为

read 3 4

考虑

(define file(open-input file "testing.txt"))

我想删除r中的read而不是整个单词,我想在没有第一个字符r的情况下更新文件,我知道我不能使用cdr file 1}}因为它会删除单词read

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您的家庭作业的几个提示。这将返回一个列表,文件的每一行都作为列表中的字符串:

(define lines (file->lines "testing.txt"))

此过程会将输入text写入给定path中的文件,覆盖文件内容:

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

您可以使用string->listlist->string(请参阅documentation),carcdr来处理file->lines返回的列表},并使用write-to-a-file编写生成的文本。现在,您拥有自己解决问题所需的一切。