私がScalaについて好きなことの1つは、ステートメントを書くための複数の方法を提供していることです。Scalaの非中括弧IFステートメント
私は単純なifステートメントを使いこなしていましたが、その動作は期待通りではないことがわかりました。次のコードスニペットを見て:
この小さな例でvar a = 0
var b = 0
if(false)
a += 1
b += 1
println(a) // 0
println(b) // 1
私はAとBの両方が、スクリプトの最後でゼロになることを前提としていますが、これはそうではありません。 ifステートメントに中括弧を追加すると予想されるように動作します。
私はここで何かを見逃しているかもしれませんが、私にはこれはかなり混乱しているようです。他の人のコードをデバッグするときには簡単に見落とすことができるので、この構文スタイルの背後にある理由が非常に不思議です。
ご意見・ご感想をお寄せください。
この回答をお寄せいただきありがとうございます。スカラでは空白が重要ではないことが分かりましたので、中括弧を追加する必要がありました。あなたから提供されたコードスニペットは、本当にこれを明確にしました、ありがとう! – Karsten