ブロック + if表現

Javaにはない(いや、あるけど使い方が違うの方が正しいかな…)概念、ブロック

var sum = {
    1 + 2;
}
println(sum);

{}でいくつかの命令文のまとまりをくくることができる
そいつの戻り値は、最後の命令文の結果
っていうことで、これだと1+2の結果の3がsum変数に代入される

次、if文

var sum = 3;
if (sum == 3) {
    println(sum);
} else {
    println("not 3");
}

Javaと同じ

うん…、if文の時にelse書くとNetBeansの動きがおかしい…、バグだなこれ

個人的にはあまり好きな書き方ではないけど、こんな書き方もできるらしい

if (sum == 3) println(sum) else println("not 3");

これは、上のと同じ

さらにif文が値を返すことも可能

var sum = 3;
var n = if (sum == 3) sum*sum else sum;
println(n);

この例だとnには9が代入される

うーん、使い方によってはきれいに書けるのかも…


週の後半は色々と疲れたので、今日はこのくらいで