2014-04-03 265 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, "*")} 

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