【发布时间】:2013-05-18 13:28:51
【问题描述】:
好的,我知道所有递归都更实用,因为您不会在迭代中更改任何对象的状态。然而,没有什么能阻止你在 scala 中这样做。
var magoo = 7;
def mergeSort(xs: List[Int]): List[Int] = {
...
magoo = magoo + 1
mergeSort(xs1, xs2);
}
事实上,在 Scala 中,您可以像在 Java 中一样使递归无副作用。 那么可以说 Scala 通过使用模式匹配更容易编写简洁的递归吗?就像没有什么能阻止我用 Java 编写任何可以用 Scala 编写的无状态递归代码?
关键在于,在 Scala 中,复杂的递归可以用更简洁的代码来实现。 就这样。 对吗?
【问题讨论】: