吉里吉里/tjs2解説

? :でFizzBuzz


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

// 条件演算子を使ってFizzBuzz
for(var i = 0; i < 101; i = i + 1) {
    i % 15 == 0 ? Debug.message("FizzBuzz") : i % 3 == 0 ? Debug.message("Fizz") : i % 5 == 0 ? Debug.message("Buzz") : Debug.message(i);
}

i % 15 == 0が真だったらDebug.message("FizzBuzz")を実行します
       偽だったらi % 3 == 0を実行します
i % 3 == 0が真だったらDebug.message("Fizz")を実行します
      偽だったらi % 5 == 0を実行します
i % 5 == 0が真だったらDebug.message("Buzz")を実行します
      偽だったらDebug.message(i)を実行します

? :を重ねて書くとこのように可読性が悪くなります
あまり重ねるべきではありません

? :はif,elseで書き直せますが、これをif,elseで書き直すと下のようになります
for(var i = 0; i < 101; i = i + 1) {
    if(i % 15 == 0) {
        Debug.message("FizzBuzz");
    } else {
        if(i % 3 == 0) {
            Debug.message("Fizz");
        } else {
            if(i % 5 == 0) {
                Debug.message("Buzz");
            } else {
                Debug.message(i);
            }
        }
    }
}

更新履歴

取得中です。