我在这里有我的尾巴递归在Ruby中的斐波那契问题。Ruby中的尾递归斐波那契 - 单元测试错误
当我运行我的代码时,我总是有这个错误。我在哪里做错了?
1) Error:
test_fibo_rek(Test_fibo_rek):
ArgumentError: wrong number of arguments (1 for 3)
/Test_Fibonacci.rb:14:in `test_fibo_rek'
1 tests, 0 assertions, 0 failures, 1 errors, 0 skips
def fibo(n)
check_pre(
nat?(n))
fibo_rek(n,0,1)
end
def fibo_rek(n,fibo1,fibo2)
if n == 0
return fibo1
else
fibo_rek(n-1,fibo2,fibo1 + fibo2)
end
end
class Test_fibo_rek < Test::Unit::TestCase
def test_fibo_rek
assert_equal(0,fibo_rek(0))
assert_equal(13,fibo_rek(7))
assert_raise(RuntimeError) {fibo_rek('10')}
assert_raise(RuntimeError) {fibo_rek(-5)}
end
end
请修复您问题中的代码格式。 – 2010-11-09 18:39:54