【发布时间】:2014-04-20 10:58:05
【问题描述】:
我通过执行以下操作创建了一个数组:
@gameboard = Array.new(3, Array.new(3, " "))
我试着像这样分配一个值,我得到了这个:
@gameboard[0][2] = "X"
@gameboard #=> [[" ", " ", "X"], [" ", " ", "X"], [" ", " ", "X"]]
当我以不同的方式声明数组时,
@gameboard = [[" ", " ", " "], [" ", " ", " "], [" ", " ", " "]]
我得到这个结果:
@gameboard[0][2] = "X"
@gameboard # => [[" ", " ", "X"], [" ", " ", " "], [" ", " ", " "]]
为什么在为数组赋值时使用Array.new 方法会导致不同的行为?
【问题讨论】:
-
(我确定这个问题有重复。)
-
我确实尝试过搜索,但找不到关于此的其他条目。如有重复请见谅!