【发布时间】:2019-04-15 19:03:04
【问题描述】:
我很难以每行 1 个元素的形式将数组元素写入文本文件。在这个实例中,数组是建立在句子 (.) 之上的。
请参见下面代码中的 cmets:
puts "enter paragraph:"
para = gets.chomp.to_s
my_array = []
para.split('.').each { |p| my_array << p+ '.'; print "pushed #{p}.";puts}
new_text = File.new("new_text.txt", "w+")
p my_array
my_array.each { |m| new_text.write(m)} #clearly iterating over my_array.
#.each should be writing each element on a different line, no? Where have I gone wrong?
new_text.seek(0)
#text file is still stored in new_text variable
#the read out shows elements are not written per line
line = 1
new_text.each do |n|
puts "line #{line}: #{n}"
line += 1
end
【问题讨论】:
-
将数组
arr的每个元素(字符串)写入文件的一种方法是File.write(filename, arr.join("\n")),每个元素一行。
标签: ruby file iteration each element