通过 rspec 测试
Passing the rspec test
嘿,我正在构建扫雷游戏作为我的项目,但我无法通过此测试。
it "should initialise each position in each column in matrix as _" do
matrix = []
matrix[0] = ["_", "_", "_", "_", "_", "_","_"]
matrix[1] = ["_", "_", "_", "_", "_", "_","_"]
matrix[2] = ["_", "_", "_", "_", "_", "_","_"]
matrix[3] = ["_", "_", "_", "_", "_", "_","_"]
matrix[4] = ["_", "_", "_", "_", "_", "_","_"]
matrix[5] = ["_", "_", "_", "_", "_", "_","_"]
matrix[6] = ["_", "_", "_", "_", "_", "_","_"]
@game.clearcolumns
@game.matrix.should eql matrix
end
这是我的简单方法:
def clearcolumns
def matrix
matrix = []
matrix[0] = ["_", "_", "_", "_", "_", "_","_"]
matrix[1] = ["_", "_", "_", "_", "_", "_","_"]
matrix[2] = ["_", "_", "_", "_", "_", "_","_"]
matrix[3] = ["_", "_", "_", "_", "_", "_","_"]
matrix[4] = ["_", "_", "_", "_", "_", "_","_"]
matrix[5] = ["_", "_", "_", "_", "_", "_","_"]
matrix[6] = ["_", "_", "_", "_", "_", "_","_"]
end
end
出于某种原因我失败了:
Failure/Error: @game.matrix.should eql matrix
expected: [["_", "_", "_", "_", "_", "_", "_"], ["_", "_", "_", "_", "_", "_", "_"], ["_", "_", "_", "_", "_", ... "_", "_", "_", "_", "_"], ["_", "_", "_", "_", "_", "_", "_"], ["_", "_", "_", "_", "_", "_", "_"]]
got: ["_", "_", "_", "_", "_", "_", "_"]
ruby 中的方法(没有明确的 return
语句)将 return 最后一行代码的执行结果。在您的情况下,matrix
的最后一行是 matrix[6] = ["_", "_", "_", "_", "_", "_","_"]
,因此该方法将始终是 returning ["_", "_", "_", "_", "_", "_","_"]
。如果你想 return 完整的矩阵,你可以这样做:
def matrix
# Initialize the matrix variable
matrix = []
# Explicitly set each row of the matrix
matrix[0] = ["_", "_", "_", "_", "_", "_","_"]
matrix[1] = ["_", "_", "_", "_", "_", "_","_"]
matrix[2] = ["_", "_", "_", "_", "_", "_","_"]
matrix[3] = ["_", "_", "_", "_", "_", "_","_"]
matrix[4] = ["_", "_", "_", "_", "_", "_","_"]
matrix[5] = ["_", "_", "_", "_", "_", "_","_"]
matrix[6] = ["_", "_", "_", "_", "_", "_","_"]
# Return the matrix
matrix
end
嘿,我正在构建扫雷游戏作为我的项目,但我无法通过此测试。
it "should initialise each position in each column in matrix as _" do
matrix = []
matrix[0] = ["_", "_", "_", "_", "_", "_","_"]
matrix[1] = ["_", "_", "_", "_", "_", "_","_"]
matrix[2] = ["_", "_", "_", "_", "_", "_","_"]
matrix[3] = ["_", "_", "_", "_", "_", "_","_"]
matrix[4] = ["_", "_", "_", "_", "_", "_","_"]
matrix[5] = ["_", "_", "_", "_", "_", "_","_"]
matrix[6] = ["_", "_", "_", "_", "_", "_","_"]
@game.clearcolumns
@game.matrix.should eql matrix
end
这是我的简单方法:
def clearcolumns
def matrix
matrix = []
matrix[0] = ["_", "_", "_", "_", "_", "_","_"]
matrix[1] = ["_", "_", "_", "_", "_", "_","_"]
matrix[2] = ["_", "_", "_", "_", "_", "_","_"]
matrix[3] = ["_", "_", "_", "_", "_", "_","_"]
matrix[4] = ["_", "_", "_", "_", "_", "_","_"]
matrix[5] = ["_", "_", "_", "_", "_", "_","_"]
matrix[6] = ["_", "_", "_", "_", "_", "_","_"]
end
end
出于某种原因我失败了:
Failure/Error: @game.matrix.should eql matrix
expected: [["_", "_", "_", "_", "_", "_", "_"], ["_", "_", "_", "_", "_", "_", "_"], ["_", "_", "_", "_", "_", ... "_", "_", "_", "_", "_"], ["_", "_", "_", "_", "_", "_", "_"], ["_", "_", "_", "_", "_", "_", "_"]]
got: ["_", "_", "_", "_", "_", "_", "_"]
ruby 中的方法(没有明确的 return
语句)将 return 最后一行代码的执行结果。在您的情况下,matrix
的最后一行是 matrix[6] = ["_", "_", "_", "_", "_", "_","_"]
,因此该方法将始终是 returning ["_", "_", "_", "_", "_", "_","_"]
。如果你想 return 完整的矩阵,你可以这样做:
def matrix
# Initialize the matrix variable
matrix = []
# Explicitly set each row of the matrix
matrix[0] = ["_", "_", "_", "_", "_", "_","_"]
matrix[1] = ["_", "_", "_", "_", "_", "_","_"]
matrix[2] = ["_", "_", "_", "_", "_", "_","_"]
matrix[3] = ["_", "_", "_", "_", "_", "_","_"]
matrix[4] = ["_", "_", "_", "_", "_", "_","_"]
matrix[5] = ["_", "_", "_", "_", "_", "_","_"]
matrix[6] = ["_", "_", "_", "_", "_", "_","_"]
# Return the matrix
matrix
end