吉里吉里/tjs2解説
? :でFizzBuzz
最終更新:
tjs2
-
view
// 条件演算子を使って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)を実行します
偽だったら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);
}
}
}
}