2014-04-03 488 views
0

我正在建模一個棋盤,並想知道是否有使用#new填充多維數組。我希望數組中的每個'行'最初都填充了一個'*' 即。 [[ '*', '*', '*', '*', '*', '*', '*', '*'], [ '*', '*', '*', '*', '*', '*', '*', '*'], etc... ]如何將多個元素插入到多維數組中

empty_frame = Array.new(8){[]} #Can you use code block to fill here? 

或者我是否需要遍歷每個'行'來填充它?

回答

3

您使用塊正確完成了第一級。爲什麼不在第二層做同樣的事情?

empty_frame = Array.new(8){Array.new(8){"*"}} 

empty_frame = Array.new(8){Array.new(8, "*")} 

如果您在字符串做破壞性操作,那麼你可能需要第一種形式。