这是一个非常具体的问题(我怀疑大多数人会从中受益),但我将解释:
我有一个示例文件,其中包含每行用逗号分隔的数字:
1,2,3,4
5,6,7,8
abcdefg
1.3.4
我希望能够将文件分成几行(轻松完成):
file = File.open(filename)
file = file.read.split("\n")
现在,我想将每行分成一个数组,如果它包含“,”并且名称或数组类似于以下内容:1array(其中1为文件行索引)
像这样的事情会更可取:
file.each_with_index |c, i| do # c=content, i=index
if c.include? ","
instance_array_set("@#{i}array", c.split(","))
end
end
我到处都在寻找实例数组概念上的任何内容,但似乎什么也找不到。我愿意采用完全不同的方式来做我想做的事情(只要时间不长)。
提前(希望如此)
答案 0 :(得分:0)
构建一个数组数组:
result =
File.readlines('/tmp/input').map do |line|
values = line.chomp.split(',')
values if values.size >= 2
end.compact
result[0][2]
#⇒ "3"
答案 1 :(得分:0)
又一个版本:
File.readlines(filename).select{ |e| e.split("").include? "," }.map{ |e| e.chomp.split "," }
# => [["1", "2", "3", "4"], ["5", "6", "7", "8"], ["11", "12", "13"]]