小编Ham*_*ish的帖子

SQLRPGLE源大小限制

SQL预编译器可以为SQLRPGLE源对象处理什么?

我在编译一个25,000行程序时遇到了一些问题,行限制是唯一可以解释我得到的错误的东西

rpg rpgle ibm-midrange

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

Scala案例类和尾递归最佳实践

我对java中的scala相当新,也是模式匹配的新手.我试图解决的一个问题是何时使用它以及它的成本/收益是什么.例如这个

def myThing(a: Int): Int = a match {
  case a: Int if a > 0 => a
  case _ => myThing(a + 1)
}
Run Code Online (Sandbox Code Playgroud)

与此相同(除非我真的误解了一些东西)

def myThing(a: Int): Int = {
  if (a > 0) a
  else myThing(a + 1)
}
Run Code Online (Sandbox Code Playgroud)

所以我的实际问题是: 但它们是否以同样的方式运行?我的模式匹配示例尾递归吗?如果没有,那么为什么不在第二个例子中呢?

还有其他我应该担心的事情,比如资源吗?或者我应该总是尝试使用模式匹配?

我一直在寻找这些答案,但没有找到任何"最佳实践"!

编辑:我知道使用的例子有点做作 - 我刚刚添加它以清楚它下面的问题 - 谢谢!

recursion scala tail-recursion pattern-matching case-class

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