相关疑难解决方法(0)

Scala @tailrec带折叠

scala的@tailrec注释是否支持Option.fold方法?

@tailrec
def test(a: Int): Int =
  if (a > 10)
    Option(true).fold(test(a - 1))(_ => test(a - 2))
  else
    -1
Run Code Online (Sandbox Code Playgroud)

此代码导致错误:

无法优化@tailrec带注释的方法测试:它包含一个不在尾部位置的递归调用

这个问题可以通过模式匹配来解决,但我觉得fold看起来更干净.

recursion scala fold

1
推荐指数
1
解决办法
693
查看次数

标签 统计

fold ×1

recursion ×1

scala ×1