This function reads a file and inserts the data into a multi-dimensional array, however it seems that on every push of temp into $table, it completely overwrites every element in $table with what is in temp.
def self.read_file
i = 0
j = 0
$table = []
$n = 0
temp = []
first_line = true
IO.foreach("data.dat") do |line|
data = line.split
if first_line
$n = data[0].to_i
first_line = false
puts('Read first line')
puts $n
else
while (j < $n)
temp[j] = data[j].to_i
j = j + 1
end
$table << temp
i = i + 1
j = 0
end
p $table
end
end
Can anyone explain this behavior and help me debug it?