Ruby:从类方法中的数组中获取值

时间:2014-11-27 17:01:14

标签: ruby arrays

我有以下数组:

matrix = ["_", "_", "_", "_", "_", "_", "_", "_", "_"]

我必须满足以下测试的要求:

it "should get a cell value" do
  @game.clearmatrix
  value = @game.getmatrixvalue(0)
  value.should == "_"
end

clearmatrix是同一类中的另一种方法(游戏):

def clearmatrix
  @matrix = ["_", "_", "_", "_", "_", "_", "_", "_", "_"]
end

从我可以从错误消息中收集到的内容,getmatrixvalue需要是它自己的方法,但我无法确切地知道它内部需要什么。我确信这很简单,我很遗憾,但是我看不到它。

2 个答案:

答案 0 :(得分:1)

如果您只是访问数组中的元素:

def getmatrixvalue(n)
  @matrix[n]
end

请记住,Ruby通常会避免使用名称为get的方法,因为accessor / mutator方法不需要get / set前缀。

值得注意的是,您可以将其写为:

@game.matrix[0]

如果您已将matrix属性声明为可访问:

attr_reader :matrix

答案 1 :(得分:0)

在各行之间阅读,在我看来,我们所拥有的是以下内容。 (请注意,我已经重命名了一些方法,部分更改了'矩阵'阵列'因为'矩阵'建议使用{{1}如果你不能改变这些名字,那就这样吧。)

Matrix