假设我定义了以下功能:
.request-form-container{
width: 400px;
margin: auto;
text-align: left;
}
当我添加一个tailrec注释时,编译器会给我以下错误:
无法优化@tailrec注释方法myFunc:它包含一个 递归调用不在尾部位置:^ Nil。
我对Nil的声明如何成为递归调用感到困惑?
答案 0 :(得分:7)
问题不在于Nil
,而在于h :: myFunc(t)
,因为myFunc(t)
不是最后一次通话。最后一次调用是::
结果的运算符myFunc(t)
。这就是函数不是尾递归的原因。