12

私は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関数が参照の透過性を破る可能性がキーワードによって高くなる方法はありますか? 私は彼らの主張を完全に誤解しているだけですか?

4

1 に答える 1