Scala/制御構文/if

基本

Java と同じように

if (true) {
  println("true")
  println("true")
} else {
  println("false")
  println("false")
}

のように書ける

Scala では制御対象が1行の場合括弧を省略するのが規約っぽい。(Java では追記した際に間違いを避けるために1行でも括弧使う傾向ある)

if (true)
  println("true")
else
  println("false")

このようにするなら Rubyの様に end キーワード作っていつでも括弧なしにすればいいのに。

if キーワードと条件の括弧の間にスペース1個入れるのも規約である。

逆に else が無い場合は処理が何行あろうと括弧を使う。括弧は条件からスペースをあけて同一行に書く。

if (true) {
  println("true")
  println("true")  
}

ifの戻り値

Scala の if は関数のように戻り値を持っていて、それは if ブロックで最後に評価された値になる。 つまり Java の 3項演算子のような働きを持っている

a = if (b == 0) "abc" else "efg"

のような処理が可能になる。

scala/basic/control_statements/if.txt · 最終更新: 2020-08-03 13:15 by ore