二维数组插值 Ruby

2D Array Interpolation Ruby

我正在创建一个命令行连接四个游戏,其中的棋盘是用代表列和行的二维数组创建的。我使用以下代码创建数组

 @board = Array.new(6) {Array.new(7, " ")}

我正在使用插值法为四连胜游戏创建视觉效果。 @board 中每个子数组中的每个元素都使用如下插值表示为 "cell",但它一直给我一个 'undefined method `[]' for nil:NilClass' 错误。

puts "  #{@board[0][5]}  |  #{@board[1][5]}  |  #{@board[2][5]}  |  #{@board[3][5]}  |  #{@board[4][5]}  |  #{@board[5][5]}  |  #{@board[6][5]}"

这只是董事会的一排。我如何访问子数组中的元素,以便它可以使用插值显示在我的板上?我想使用插值的原因是这些值会随着游戏的进行而改变,并且它们一开始都是空白的。如果我从 @board[][] 标注中删除其中一个 [],它会在 "cell" 中打印出一整行,这不是我想要的。任何帮助表示赞赏!

@board 数组包含 6 个数组,每个数组中有 7 个空白字符串。数组索引从 0 开始计数,这意味着您的外部数组将 return 索引 05

处的内部数组

代码示例中的最后一个字符串插值如下所示:#{@board[6][5]}。问题是 @board[6] 不存在并且 returns nilnil 不响应 [5]