Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 转置5x5数组时出现索引错误_Ruby_Arrays_Transpose - Fatal编程技术网

Ruby 转置5x5数组时出现索引错误

Ruby 转置5x5数组时出现索引错误,ruby,arrays,transpose,Ruby,Arrays,Transpose,给定以下“宾果板”阵列: 然后运行以下方法查看是否有宾果游戏: def bingo(board) if board.each_index {|e| board[e].uniq!} .any? {|row| row == ["X"]} == true p "BINGO!" elsif board = board.transpose board.each_index {|e| board[e].uniq!} .any? {|row| row == ["X"]} ==

给定以下“宾果板”阵列:

然后运行以下方法查看是否有宾果游戏:

def bingo(board)
  if board.each_index {|e| board[e].uniq!} .any? {|row| row == ["X"]} == true
    p "BINGO!"
  elsif
    board = board.transpose
    board.each_index {|e| board[e].uniq!} .any? {|row| row == ["X"]} == true
    p "BINGO!"
  elsif (board[0][0] && board[1][1] && board[2][2] && board[3][3] && board[4][4]) == "X"
    p "BINGO!"
  elsif board[0][4] && board[1][3] && board[2][2] && board[3][1] && board[4][0] == "X"
    p "BINGO!"
  else
    p "no bingo"
  end
end
我遇到以下错误:

`transpose': element size differs (5 should be 4) (IndexError)

有什么好处?为什么它认为5是4?

我相信你的第二行,运行
板[e]。uniq
以破坏性方式更改原始
板中嵌套的每个阵列
阵列。。。因此,每行中不再有五个对象。

我相信您的第二行运行的是
board[e]。uniq
以破坏性方式更改原始
板中嵌套的每个阵列
阵列。。。因此,每行中不再有五个对象。

我相信您的第二行运行的是
board[e]。uniq
以破坏性方式更改原始
板中嵌套的每个阵列
阵列。。。因此,每行中不再有五个对象。

我相信您的第二行运行的是
board[e]。uniq
以破坏性方式更改原始
板中嵌套的每个阵列
阵列。。。因此,每行中不再有五个对象。

没有相同的错误,但请检查@Myst answear。与您的问题完全无关,但在您的条件下不需要使用
==true
。在Ruby中,除了
false
nil
谢谢@shivam之外,所有的东西都是正确的。这还是个新鲜事。myst是正确的,这就是问题所在。但是现在没有宾果游戏的棋盘正在评估为宾果游戏,所以其他的东西是错误的哈哈。没有同样的错误,但是请检查@Myst answear。与您的问题完全无关,但是在您的情况下没有必要使用
==true
。在Ruby中,除了
false
nil
谢谢@shivam之外,所有的东西都是正确的。这还是个新鲜事。myst是正确的,这就是问题所在。但是现在没有宾果游戏的棋盘正在评估为宾果游戏,所以其他的东西是错误的哈哈。没有同样的错误,但是请检查@Myst answear。与您的问题完全无关,但是在您的情况下没有必要使用
==true
。在Ruby中,除了
false
nil
谢谢@shivam之外,所有的东西都是正确的。这还是个新鲜事。myst是正确的,这就是问题所在。但是现在没有宾果游戏的棋盘正在评估为宾果游戏,所以其他的东西是错误的哈哈。没有同样的错误,但是请检查@Myst answear。与您的问题完全无关,但是在您的情况下没有必要使用
==true
。在Ruby中,除了
false
nil
谢谢@shivam之外,所有的东西都是正确的。这还是个新鲜事。myst是正确的,这就是问题所在。但现在没有宾果游戏的董事会正在评估为宾果游戏,所以其他一些东西是错误的哈哈。
`transpose': element size differs (5 should be 4) (IndexError)