2014-10-09 52 views
0

我已经创建了一个套牌类,并且已经定义了在数组开头插入一个卡的函数之一。然而,每次我尝试在我的测试脚本中测试它时,我都会收到`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" 

回答

0

你add_to_bottom预期没有参数,而在测试代码,你提供的论据。你忘了在你的函数声明中声明它吗?

1

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

0

我不确定您的DeckCard类是如何实现的,所以很难说。 @sawa和@VuMinhTan已经指出了一个非常明显的问题。所以,正如他们所说的那样,你肯定应该在你定义的方法中使用参数cadd_to_bottom)。

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

相关问题