【Swift入門】for-inで配列や数値範囲から要素を取り出す

2021年1月7日

for-inは繰り返し処理を行う文法です。

for-inは

for 変数 in シーケンス {
    繰り返したい処理
}

と記述します。

シーケンスというのは複数の値で、一つずつ段階的に処理できるものをいいます。

シーケンスの例としては配列や数値範囲などが挙げられます。

数値範囲というのは『1~10』や『0~30』などの数値の範囲のことです。

それでは実際にfor-inを使ってみましょう。

新しくplaygroundを作って、空にしてください。

配列と数値範囲でそれぞれ使ってみようと思います。

この記事の目次

配列

まずは配列からです。

for-inを使って複数の名前が入っている配列の要素を取り出して、一つずつコンソールに出力してみようと思います。

var names = [“太郎”, “次郎”, “三郎”]
for name in names {
    print(name)
}

と記述します。

コードについて説明すると、三つの名前が格納されている配列『names』から

要素を一つずつ取り出していき、一回のループごとに変数『name』に格納します。

一回目のループでは『太郎』が

nameに格納されてコンソールに出力されます。

二回目のループでは『次郎が』

三回目のループでは『三郎』が

それぞれnameに格納されてコンソールに出力されます。

なので実行するとコンソールには『太郎』、『次郎』、『三郎』と出力されるはずです。

実際に実行して確かめてみましょう。

実行ボタンを押してください。

予想通り、『太郎』、『次郎』、『三郎』とコンソールに出力されましたね。

数値範囲

次にfor-inを使って数値範囲から値を取り出していこうと思います。

今回は1~10の値を順番に取り出していき、コンソールに出力してみようと思います。

for i in 1…10 {
    print(i)
}

と記述します。

コードについて説明しておきましょう。

『…』

範囲演算子と呼ばれるものです。

範囲演算子は閉区間と半開区間に分けることができます。

今回の例だと閉区間で、『…』で表している部分のことをいいます。

閉区間とは両端を含む区間のことを言います。

今回のように『1 … 10』とした場合は『1 ~ 10』を表します。

次に『1 ~ 10』の値を順番に取り出していき、変数『i』に格納していきます。

一回目のループでは『1』が二回目のループでは『2』が格納され、『10』まで続きます。

実行してみると『1 ~ 10』までの数字がコンソールに出力されるはずです。

実際に実行してみましょう。

実行ボタンを押します。

すると予想通りコンソールに『1 ~ 10』まで表示されます。

次に範囲演算子の半開区間についても扱っていきましょう。

半開区間とは一つの端点を含まない区間のことをいいます。

Swiftでは右側の数を含まない区間のことで、『..<』と記述します。

例えば『0 ..< 10』とした場合は、『10』を含まない、『0 ~ 9』までの区間となります。

実際にコードを書いてみましょう。

for i in 1..<10 {
    print(i)
}

と記述します。

閉区間と違うのは『..<』の記述だけですね。

『1..<10』とした場合『1~9』までの区間を表しているので、コンソールには『1~9』までの数字が順番に出力されます。

実際にそうなるのか、実行して確かめてみましょう。

実行ボタンを押してください。

実行すると、予想通りコンソールに『1~9』までの数字が出力されます。