我正在阅读Scala WartRemover工具的描述,并被他们的观点之一弄糊涂了。描述是这样说的:
return
打破了参照透明度。重构以安全的方式终止计算。// Won't compile: return is disabled def foo(n:Int): Int = return n + 1 def foo(ns: List[Int]): Any = ns.map(n => return n + 1)
这对我来说没有任何意义,而且这两个例子看起来都是透明的。关键字是否有某种方式return
使函数更有可能破坏引用透明度?我只是完全误解了他们的观点吗?