我创建了一个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"
答案 0 :(得分:1)
add_to_bottom
在方法体中有c
,它既不是方法也不是变量。如果这是一个传递的参数,那么你需要写def add_to_bottom(c)
。如果你这样做,那么这也可以解决你的错误。
答案 1 :(得分:0)
你的add_to_bottom期望在你提供参数的测试代码中没有参数。您是否忘记在函数声明中声明它?
答案 2 :(得分:0)
我不确定您的Deck
或Card
课程是如何实施的,因此很难说。一个非常明显的问题是@sawa和@VuMinhTan已经指出的问题。所以,正如他们所说,你绝对应该在你定义的方法(c
)中使用参数add_to_bottom
。
我觉得Card.new(7, "S")
正在制作7个黑桃。这只是我的好奇心,对你的代码没什么“错误”,但我也想知道如何将索引0视为“底部”。当然,它确实没什么区别,但这对我来说似乎是“顶级”。