我在這裏有我的尾巴遞歸在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