我试图创建文件中的内容列表,问题是列表是扁平的,它不包括换行符(\ r \ n)。
#lang racket
(define my-list '())
(define (read-all-file file-to-read)
(for/list ([i (file->lines file-to-read)]) (
set! my-list (foldr cons (list i) my-list))))
my-list
现在我的输出就是:
"lalala" "lalalall" "lalal"
而不是:
"lalala"
"lalalall"
"lalal"
有谁知道如何解决这个问题?我认为我这样做的方式会有效..这很奇怪:/
答案 0 :(得分:2)
列表很好,这只是你显示元素的问题。如果要使用换行符显示它们,请执行以下操作:
(display (string-join my-list "\n"))
另一种选择是:
(for-each (lambda (e) (display e) (newline)) my-list)
无论哪种方式,它都按预期工作:
=> lalala
lalalall
lalal