我正在尝试将名称列表从.txt文件传输到Ruby中的表/数组。名称在文件中看起来像这样:
Mandy
萨拉·简
旋律
Ulrika
凯蒂·苏
所以有些名字是一个单词,另外两个是。我有一个变量@names,我想将它们作为数组直接移到该变量中。我还需要计算有多少个名字(我根本无法做到!)。
到目前为止,我有这个:
defreadwordfile(filename)
file = file.open("names.txt","r")
file.each do |line|
contentsArray = []
file.each_line {|line|
contentArray.push line }
@names = contentArray
end
file.close
end
非常感谢我一直在努力使它工作数小时!!!
谢谢,
Petra
您可以执行以下操作:
names = IO.foreach("text.txt").with_object([]) do |line,array|
array << line.strip
end
p names
#=> ["Mandy", "Sarah Jane", "Melody", "Ulrika", "Katy Sue"]
假设每行只有一个名称或名称/姓氏组合。
不确定是您的问题中的格式问题,还是文件中是否有实际的空行。如果有空行,并且您想忽略它们,则可以用以下内容替换第二行:
array << line.strip unless line.strip == ""
这将忽略任何没有名称/姓氏的行。