次のコードがあります
def normalFactorial = { BigInteger n ->
n <= 1 ? 1 : normalFactorial(n - 1) * n
}
println normalFactorial(1)
println normalFactorial(2)
normalFactorial(1) メソッドは正常に動作し、期待どおりに 1 を出力します。2 番目の呼び出しは、以下の例外で失敗します。手がかり..????
May 09, 2013 10:39:23 PM org.codehaus.groovy.runtime.StackTraceUtils sanitize
WARNING: Sanitizing stacktrace:
groovy.lang.MissingMethodException: No signature of method: tailRecursion.normalFactorial() is applicable for argument types: (java.math.BigInteger) values: [1]
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:55)