Ruby新手,尝试将给定列分配给可在.rb文件中引用的数组值。此外,尝试学习,所以试图不使用任何快捷方式(自制软件解决方案等)。
FILE.DAT
1 88 59 74 53.8 0.00 280 9.6 270 17 1.6 93 23 1004.5
2 79 63 71 46.5 0.00 330 8.7 340 23 3.3 70 28 1004.5
3 77 55 66 39.6 0.00 350 5.0 350 9 2.8 59 24 1016.8
4 77 59 68 51.1 0.00 110 9.1 130 12 8.6 62 40 1021.1
以及更多这样的行。
谢谢!
答案 0 :(得分:1)
试试这个:
input = File.open('./file.dat', File::RDONLY){|f| f.read }
array = input.lines.map(&:split)
它将为您提供嵌套数组,例如:
[
["1", "88", "59", "74", "53.8", "0.00", "280", "9.6", "270", "17", "1.6", "93", "23", "1004.5"],
["2", "79", "63", "71", "46.5", "0.00", "330", "8.7", "340", "23", "3.3", "70", "28", "1004.5"],
["3", "77", "55", "66", "39.6", "0.00", "350", "5.0", "350", "9", "2.8", "59", "24", "1016.8"],
["4", "77", "59", "68", "51.1", "0.00", "110", "9.1", "130", "12", "8.6", "62", "40", "1021.1"]
]
如果您想在数组中使用数值,请使用:
array = input.lines.map{|l| l.split.map(&:to_f) }
这将为您留下如下数组:
[
[1.0, 88.0, 59.0, 74.0, 53.8, 0.0, 280.0, 9.6, 270.0, 17.0, 1.6, 93.0, 23.0, 1004.5],
[2.0, 79.0, 63.0, 71.0, 46.5, 0.0, 330.0, 8.7, 340.0, 23.0, 3.3, 70.0, 28.0, 1004.5],
[3.0, 77.0, 55.0, 66.0, 39.6, 0.0, 350.0, 5.0, 350.0, 9.0, 2.8, 59.0, 24.0, 1016.8],
[4.0, 77.0, 59.0, 68.0, 51.1, 0.0, 110.0, 9.1, 130.0, 12.0, 8.6, 62.0, 40.0, 1021.1]
]