我正在为棋盘建模,并想知道是否使用#new填充多维数组。我希望数组中的每个“行”最初都填充'*'
即。 [[ '*', '*', '*', '*', '*', '*', '*', '*'], [ '*', '*', '*', '*', '*', '*', '*', '*'], etc... ]
empty_frame = Array.new(8){[]} #Can you use code block to fill here?
或者我是否需要遍历每个“行”来填充它?
答案 0 :(得分:3)
您使用块正确地完成了第一级。为什么不对二级做同样的事呢?
empty_frame = Array.new(8){Array.new(8){"*"}}
或
empty_frame = Array.new(8){Array.new(8, "*")}
如果您对字符串进行破坏性操作,那么您可能需要第一个表单。