勉強がてらFizzBuzzをやろうとした。 最初考えてた方法。
- if分が美しくない。
- 配列がベタ書き
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15].map {
if $0 % 15 == 0 {return "Fizz Buzz"}
else if $0 % 5 == 0 { return "Fizz" }
else if $0 % 3 == 0 {return "Buzz"}
return "\($0)"
}.forEach { print($0) }
調べて出てきたやつ綺麗※参考
(1...100).map { switch ($0 % 3, $0 % 5) {
case (0, 0): return "Fizz Buzz"
case (0, _): return "Fizz"
case (_, 0): return "Buzz"
case (_, _): return "\($0)"
} }.forEach { print($0) }
- swiftのrange型"(1...100)"を知らなかった便利
- switchの引数2つを使うと美しくかけるすばらしい
ちゃんと言語仕様読もうかな