Swift による iOS 開発入門

ホーム > Swift の基本 > ループとイテレータ

ループとイテレータ

スポンサーリンク

ここでは Swift でのループについてみていきましょう。

ループを扱うにあたり、配列、ディクショナリといったコレクションについては、あらかじめ知っておいたほうが良いので、まだの人はみておいてください。

» コレクション

尚、以下の例では println で標準出力にプリントしていますが、Xcode の Playground で試すときは、アシスタントエディタを表示しておくと、コンソールの出力が見られるので便利です。

while, do-while ループ

while ループは while で指定した条件が真のときに、{ } ブロック内の処理を繰り返します。

var i = 0
while i < 10 { 
	println("\(i)") 
	i++ 
}

do-while ループは、{ } ブロック内の処理を実行してから while の条件を評価して、真ならば処理を繰り返します。

var i = 0

do {
	println("\(i)")
	i++
} while i < 10

for-in ループ

for-in ループではコレクションの要素を取り出しながら、繰り返し処理を行ないます。

var states = [ "CA", "HI", "TX" ]

for state in states {
	println( state )
}

配列のインデックスを取得する場合は、enumerate() 関数とタプルを利用して、次のようにします。

var states = [ "CA", "HI", "TX" ]

for (index, name) in enumerate(states) {
	println( "\(index) = \(name)" )
}
// 0 - CA
// 1 = HI
// 2 = TX

ディクショナリと for-in ループで次のようにキー・バリューペアが取得できます。

var addr = [
	"state" : "California",
	"city"  : "Los Angeles",
]

for (key, val) in addr {
	println( "key = \(key), val = \(val)" )
}

カウンタの省略

最後に Swift らしい感じの使い方をひとつ紹介します。

for-in ループで、3 回ループさせる場合、次のように 3 ドット (...) を使って次のようにかけます。

for i in 1...3 {
	println("Hello!")
}

ここで、ループの中で i は使われていないので、アンダースコア (_) を使って省略することが可能です。

for _ in 1...3 {
	println("Hello!")
}
スポンサーリンク
ホーム > Swift の基本 > ループとイテレータ