试试这个:
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]
]