我正在尝试用Ruby制作生活游戏,到目前为止我已经有了这段代码:
class Board
def initialize(size)
@board = [["-"] * size] * size
@board[2][2] = "#"
end
def to_s
@board.map{|r|
r.map{|i| print (i ? i.to_s : " ") + " "}
puts
}
end
end
puts Board.new(5)
我希望结果如下:
- - - - -
- - - - -
- - # - -
- - - - -
- - - - -
但相反它显示了这个:
- - # - -
- - # - -
- - # - -
- - # - -
- - # - -
我不知道为什么,我真的很感激一些帮助。
答案 0 :(得分:1)
没关系,我找到了答案。我应该一直在使用
@board = Array.new(size) { Array.new(size, "-") }
而不是
@board = [["-"] * size] * size