I’m a newbie in ruby, just began to study. Can’t find a solution to read from a file a square matrix in a two-dimensional array.
file graph.txt:
0 3 0 0 10 0 0
0 0 9 0 0 0 0
0 0 0 3 0 0 15
0 0 0 0 0 0 10
0 0 0 0 0 8 0
0 0 0 0 0 0 0
0 0 0 0 15 0 0
My code:
n=7
Arr = Array.new(n).map!{Array.new(n)}
text = ''
tx = File.readlines("graph.txt")
text = tx.join
i=0
text.each_line do |line|
Arr[i] = line.split(/\n/)
i+=1
end
p Arr
result:
[[“0 3 0 0 10 0 0”], [“0 0 9 0 0 0 0”], [“0 0 0 3 0 0 15”], [“0 0 0 0 0 0 10”], [“0 0 0 0 0 8 0”], [“0 0 0 0 0 0 0”], [“0 0 0 0 15 0 0”]]
need result:
[[0, 3, 0, 0, 10, 0, 0], [0, 0, 9, 0, 0, 0, 0], [0, 0, 0, 3, 0, 0, 15], [0, 0, 0, 0, 0, 0, 10], [0, 0, 0, 0, 0, 8, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 15, 0, 0]]
1 Answer