有没有办法重构这段代码?第一个片段是我现在拥有的,第二个是我试图制作的逻辑.
count = 0 until count >= board.length if board[count] == nil board[count] = [nil, nil, nil, nil, nil, nil, nil, nil,] end count += 1 end board
在我的第四行,我想做类似的事情
board[count] = (8.times { board[count] << nil })
我知道这只是一段时间.我只是好奇或者想要清除我的逻辑...谢谢!!
尝试使用Array
的构造函数
Array.new(8) => [nil, nil, nil, nil, nil, nil, nil, nil] Array.new(8, 42) => [42, 42, 42, 42, 42, 42, 42, 42]
如果你需要一个对象并且不希望每个实例都相同,则传递一个块
Array.new(8) { Hash.new } => [{}, {}, {}, {}, {}, {}, {}, {}]