🍣

【DAY6】100 Days of SwiftUI -loops, summary

2023/01/01に公開

はじめに

iOSアプリ界隈で(たぶん)有名なPaul Hudsonさんが無料で公開しているSwiftUIの100日学習コースを進めてみます。学習記録及び備忘録がてらにつらつらと書いてみます。
100 Days of SwiftUI

学んだこと

序盤はSwiftUIは関係なくSwiftという言語の言語仕様のお話。気になった点だけピックアップ。

for文

一般的な言語と同じようにかける。

// 九九の5の段が表示される
for i in 1...9 {
    print("5 x \(i) = \(5 * i)")
}

ループの中でループ変数を使用しない場合はアンダースコアを入れて書くことも可能。この学習コース定番のTaylor Swiftネタ。

var lyric = "Haters gonna"

for _ in 1...5 {
    lyric += " hate"
}

print(lyric)

// 出力: Haters gonna hate hate hate hate hate

While文

これも他の言語と同じようにかける。20が出るまで20面ダイスを振り続けることをイメージしたコードが以下。Dungeons & Dragonsというゲームではクリティカルヒットになるらしい。

var roll = 0

while roll != 20 {
    roll = Int.random(in: 1...20)
    print("I rolled a \(roll)")
}

print("Critical hit!")

おまけ

基本のまとめとしてFizzBuzz問題が出された。条件分岐と繰り返しはこれでOK。

for i in 1...100 {
    if i.isMultiple(of: 3) && i.isMultiple(of: 5) {
        print("FizzBuzz")
    } else if i.isMultiple(of: 3) {
        print("Fizz")
    } else if i.isMultiple(of: 5) {
        print("Buzz")
    } else {
        print(i)
    }
}

Discussion