将数据块数组写入文件

Write a block array of data to a file

经过多次尝试,我一直坚持这个问题,我有一个项目数组,我试图将其输出到一个文件,但问题是它一次写入所有内容并忽略换行符。我开始怀疑 rebol 是否具有如此简单的能力。 file1.txt 包含多行

myArray: []
foreach line read/lines %file1.txt [
    append myArray line
]
write %file2.txt myArray

这行不通,所有内容都写在一行上

fp: open/new %file2
foreach line myArray [insert fp line]
close fp

那也行不通 "cannot use insert on port!"

我不是要复制文件,以上只是我正在尝试做的演示。

Rebol 保持换行原样。但是在使用 read/lines 阅读之后,你只会得到一块没有换行符的项目。如果你想把一个项目块写成由换行符分隔的行,你应该用细化再次写它们 write/lines 并且 Rebol 再次添加换行符。

myArray: []
foreach line read/lines %file1.txt [
    append myArray line
]
write/lines %file2.txt myArray

当您使用 read/lines 时,Rebol 会丢弃行结束数据并为您提供 block strings。如果要将 block 写入文件,可以将 newline 添加到每一行。

myArray: []
foreach line read/lines %file1.txt [
    append myArray join line newline
}
write %file2.txt myArray