日記
最近ロシア語を喋りたくなってきたのでロシア語コンテンツをYouTubeで観てるんだけど,聞き取れるようになる気がしない.何で俺は英語がある程度聞き取れるのかめちゃくちゃ不思議.やっぱ義務教育ってすごいんですね.
今日書いたコード
今日は何もやる気が出なかったのでFizzBuzzを書いた.
❯ echo -n '(1...100).map{($0 % 3==0 ?"fizz":($0 % 5==0 ?"":"\($0)"))+($0 % 5==0 ?"buzz":"")}' | wc -m 81
言語化できたレギュレーションは以下の通り
let actual =
以降の文字列を最小化する- playground上で走らせられる
check(_ actual:)
のassert
で落ちない
func check(_ actual: [String]) { var expected: [String] = [] for i in 1...100 { let tmp: String = { if i % 3 == 0 { return i % 5 == 0 ? "fizzbuzz" : "fizz" } else if i % 5 == 0 { return "buzz" } else { return "\(i)" } }() expected.append(tmp) } for (e, a) in zip(expected, actual) { print(e, a, separator: " ") } assert(expected.elementsEqual(actual)) } //let actual = (1...100).map {"\($0 % 3 == 0 ? "fizz" : ($0 % 5 != 0 ? "\($0)" : ""))\($0 % 5 == 0 ? "buzz" : "")" } let actual = (1...100).map{($0 % 3==0 ?"fizz":($0 % 5==0 ?"":"\($0)"))+($0 % 5==0 ?"buzz":"")} //let actual = (1...100).map {"\($0 % 3 == 0 ? "fizz" : ($0 % 5 != 0 ? "\($0)" : ""))\($0 % 5 == 0 ? "buzz" : "")" } check(actual)
初めて知ったこと
🍐