一致式の構文は非常に優れています。
expr match {
case Test(l1) => ...
...
}
match (expr) ...
しかし、まともな C の子孫の分岐ステートメントのように、なぜこの構文が の代わりに使用されるのかという動機を理解できないことに気が狂いそうになります!
これについての合理的な説明はありません。そして、Scala Web サイトの Programming in Scala、この論文、この論文、SO のここでも、Web の残りの部分でも、答えは見つかりません。
それが間違っているわけではなく、完全な謎です。そしてmatch
、このように働くとき、なぜまたそうしないif
のfor
ですか?
誰か知っていますか?これを発見しないと、もはやその言語を使用することはできないと思います。私はいつもそれについて考えています。夜はほとんど眠れません。