1
這個函數讀取一個文件並將數據插入到一個多維數組中,但是看起來,在每次將temp推入$ table時,它將完全覆蓋$ table中的每個元素與temp中的內容。RUBY將數組推入數組覆蓋所有以前的元素?
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
任何人都可以解釋這種行爲,並幫助我調試它嗎?
唯一代碼的答案都望而卻步。請至少描述您所做的更改,或只發布代碼的相關部分。 – SirDarius
我覺得問題是在臨時,所以我只是改變在做循環中的臨時變量的地方 –