【2019年最新版】Swift5 repeatについて

Swift5になってから新しく repeat という構文が追加されていた様なので それについて簡単に解説します。


今までのループまとめ

配列の場合

let names = ["Anna", "Alex", "Brian", "Jack"]
for name in names {
    print("Hello, \(name)!")
}

// Hello, Anna!
// Hello, Alex!
// Hello, Brian!
// Hello, Jack!

辞書(dictionary)を使った場合

let numberOfLegs = ["spider": 8, "ant": 6, "cat": 4]
for (animalName, legCount) in numberOfLegs {
    print("\(animalName)s have \(legCount) legs")
}

// ants have 6 legs
// cats have 4 legs
// spiders have 8 legs

回数指定をする場合

for index in 1...5 {
    print("\(index) times")
}

// 1 times
// 2 times
// 3 times
// 4 times
// 5 times

範囲条件を指定する場合

let minutes = 60
for tickMark in 0..<minutes {
    // render the tick mark each minute (60 times)
}

指定した数だけループ毎にインクリメントする場合

let minutes = 60
let minuteInterval = 5
for tickMark in stride(from: 0, to: minutes, by: minuteInterval) {
    // render the tick mark every 5 minutes (0, 5, 10, 15 ... 45, 50, 55)
}

throughを利用すると条件の最後もループ処理を通る

let hours = 12
let hourInterval = 3
for tickMark in stride(from: 3, to: hours, by: hourInterval) {
    // render the tick mark every 3 hours (3, 6, 9, 12)
}


Repeatを利用する

Repeatを利用すると、例えば初期化した配列を定義する時に簡単にできます。

let finalSquare = 25
var board = [Int](repeating: 0, count: finalSquare + 1)

// [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]

repeat-while loop

基本的にはwhile loopと同じです。 ループ処理の最後に条件を満たしているか確認し、条件を満たすまでループをします。

repeat {
    statements
} while condition


最後に

久しぶりに趣味でアプリを作ろうと思い、調べ物をしていた時に 見つけ勉強しておかなきゃなと思ったので簡単にまとめておきました。 まだまだたくさん変わった箇所がある様なので、ちょいちょい勉強してはアウトプットしていこうと思います。

0 コメント