将数据块数组写入文件
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
经过多次尝试,我一直坚持这个问题,我有一个项目数组,我试图将其输出到一个文件,但问题是它一次写入所有内容并忽略换行符。我开始怀疑 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