いままでのまとめでFizz Buzzやってみます。
- これまで試したものを使えばFizz Buzzできるはずです。
- https://ja.wikipedia.org/wiki/Fizz_Buzz
いきなりコンパイルが終わらない...
- メソッドチェーンで続けたらいきなりコンパイルが終わらなくなってしまいました。なんだこりゃ??型推論のせい??
mapをつないでみた。
ちょっとかっこ悪いが...
let a1:[String] = (1...50).map { String($0) }
let a2:[String] = a1.map { ( Int($0)! % 3 == 0 && Int($0)! % 5 == 0 ) ? "Fizz Buzz" : $0 }
let a3:[String] = a2.map { ( Int($0) != nil && Int($0)! % 3 == 0 ) ? "Fizz" : $0 }
let a4:[String] = a3.map { ( Int($0) != nil && Int($0)! % 5 == 0 ) ? "Buzz" : $0 }
print(a4.joinWithSeparator(", "))
- 最後は文字列配列にしたかったので文字列配列にしてます。
- まだ if とか switch とかは試してないので使ってません。
結果です
1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, Fizz Buzz, 16, 17, Fizz, 19, Buzz, Fizz, 22, 23, Fizz, Buzz, 26, Fizz, 28, 29, Fizz Buzz, 31, 32, Fizz, 34, Buzz, Fizz, 37, 38, Fizz, Buzz, 41, Fizz, 43, 44, Fizz Buzz, 46, 47, Fizz, 49, Buzz
まとめ
- mapをつなげたら、なんでかコンパイルがやけに遅くなった。