Scala:尾递归功能

use*_*968 1 scala tail-recursion function pow

结果总是得到"1".:(
这个功能有什么问题?

    def power(base: Int, exp: Int): BigInt = {
        def _power(result: BigInt, exp: Int): BigInt = exp match {
            case 0 => 1
            case _ => _power(result*base, exp-1)
        }
        _power(1, exp)
    }
Run Code Online (Sandbox Code Playgroud)

ali*_*oar 7

你必须更换所以: case 0 => result

  • 我认为你的意思是"案例1 =>结果".您仍需要`case 0 => 1`才能使电源正常工作. (3认同)