在测试脚本中引用变量

时间:2014-10-09 03:31:53

标签: ruby

我创建了一个deck类,并定义了一个在数组开头插入一个卡的函数。但是每当我尝试在我的测试脚本中测试它时,我会收到`add_to_bottom':错误的参数数(1表示0)(ArgumentError)。有人可以帮助我,我知道我已经接近搞清楚了。

甲板等级

def add_to_bottom
  @cards.insert(0, c)
end

测试脚本

d = Deck.new
c = Card.new(7, "S")
d.add_to_bottom(c)
print d, "\n"

3 个答案:

答案 0 :(得分:1)

add_to_bottom在方法体中有c,它既不是方法也不是变量。如果这是一个传递的参数,那么你需要写def add_to_bottom(c)。如果你这样做,那么这也可以解决你的错误。

答案 1 :(得分:0)

你的add_to_bottom期望在你提供参数的测试代码中没有参数。您是否忘记在函数声明中声明它?

答案 2 :(得分:0)

我不确定您的DeckCard课程是如何实施的,因此很难说。一个非常明显的问题是@sawa和@VuMinhTan已经指出的问题。所以,正如他们所说,你绝对应该在你定义的方法(c)中使用参数add_to_bottom

我觉得Card.new(7, "S")正在制作7个黑桃。这只是我的好奇心,对你的代码没什么“错误”,但我也想知道如何将索引0视为“底部”。当然,它确实没什么区别,但这对我来说似乎是“顶级”。