-2
我一直在嘗試以縮小的方式編碼一些算法>。 我認爲,典型的二維數組定義是看起來太笨重無法正確初始化數組
mx = Array.new(N) { Array.new(N) }
我試圖用另一種暗示,但它的行爲是有點怪我:
mx = [[!:&]*n]*n
請看:
#square matrix n*n
n=3
mx = [[!:&]*n]*n
#=> [[false, false, false], [false, false, false], [false, false, false]]
mx[0][0]=true
mx
#=> [[true, false, false], [true, false, false], [true, false, false]]
# true true true ????
#.
我該如何馴服我的數組? repl.it_snippet: avaiable
首先,爲什麼用'!:&'而不是'false'?它試圖故意混淆? –
..你有這個微笑,是嗎?) – Vitalyp