私はScala WartRemoverツールの説明を読んでいて、彼らが持っていたポイントの 1 つに混乱していました。説明にはこうありました。
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
関数が参照の透過性を破る可能性がキーワードによって高くなる方法はありますか? 私は彼らの主張を完全に誤解しているだけですか?