14:39:33TwitterFacebookはてブPocketLINESwiftは新しいプログラミング言語であるため、言語仕様のマイナーチェンジが多いです。そのうち安定するかと思いますが、特に顕著なのはSwift2とSwift3のfor文の違いです。そこでこのページでは、Swift2とSwift3の違いも踏まえたうえで、Swiftでのfor文とfor-in文の使い方を解説します。まとめ数字の出力まずはループ処理で数字を順番に出力していくコードを紹介します。Swift2.0で昇順に出力するためのコードは以下です。\(i)")}このコードはSwift2までは使用可能でしたが、Swift3以降は使用できなくなりました。Swift3以降では、for-in文を使って以下のように記述します。\(i)")}これを実行すると、以下のようにコンソール出力されます。4reservedを使用すると、降順で出力されます。サンプルコードは以下です。\(i)")}実行すると以下のように降順で出力されます。次に、用意した配列の中身をループで出力するコードを紹介します。Swift2でのコードは以下のようになります。{print("\(foods[i])")}}このコードはSwift2なら配列の中身が出力されますが、Swift3だとエラーコードが出力されます。具体的には以下のようなものです。{Swift3で動くように書くにはfor-in文を使います。具体的には以下のようになります。{print("\(value)")}このようにfor-in文を記述すると、以下のように配列の中身が出力されます。ra-mengyo-zakaraagetya-hanenumeratedで配列をループするenumeratedを使用すると配列のインデックスとバリューをセットで格納することができます。配列.enumerated()サンプルコードは以下です。{print("\(value)")}実行すると以下のようにコンソール出力されます。ra-mengyo-zakaraagetya-hanstrideで配列をループするstrideを使ってfor-in文と組み合わせると、配列の中身を出力できます。enumeratedと比べるとやや複雑な構文に見えるかもしれませんが、出力時にindexやvalueではなく直接配列名を指定できます。配列要素の何番目から何番目という指定ができるので、特定範囲の要素のみを出力することも可能です。構文は以下のようになります。間隔)この構文を使ったサンプルコードが以下です。{print("\(foods[i])")}辞書型の配列でキーとバリューを出力する辞書型とはキーとバリューをセットにした型のことです。以下がサンプルコードです。{print("\(key)\(value)円なり")}上記のサンプルコードを実行すると以下のようにコンソール出力されます。ra-men850円なりgyo-za300円なりkaraage400円なりtya-han500円なりtenshinhan500円なり文字列をループで一文字ずつ取り出すString型のcharactersメソッドを使用することで、文字列を一文字ずつ抽出することが可能です。サンプルコードは以下になります。{print(char)}上記のサンプルコードを実行すると、以下のようにコンソール出力されます。今回のテーマはfor文、for-in文ですが、同じようにループ処理を実装できるコードにwhile文があります。コードの構文はシンプルで、以下のようになります。繰り返し実行されるコード}この構文を利用したサンプルコードは以下です。count}print(total)他の言語経験のある方は特段新たに理解する個所はないかと思います。Swiftのfor-in文は他のプログラミング言語に比べて多少特殊な部分がありますが、while文は取り立てて特殊な部分はありません。repeat-while文の書き方repeat-while文は他のプログラミング言語にはあまりない特殊な構文です。具体的には以下のようになります。条件while文ではwhileが上に来ましたが、repeat文ではrepeatが上に来ます。サンプルコードは以下です。10print(total)while文のときと同じ内容をrepeat-while文で実装しました。まとめ以上Swiftの繰り返し処理について解説してきました。繰り返し処理はSwiftだけでなくプログラミング言語の基本概念で、Swiftで勉強しておけば他の言語でもだいたい同じです。スマホアプリでもパソコン用のアプリでも違いはなく、スマホのアプリ開発から入った人でも今後パソコン用アプリで応用が利きます。配列との相性が良いので、配列に何かしらの処理を行う際は繰り返し処理が使えないか検討すると良いです。同じ処理を正確に繰り返すのはコンピューターの得意分野で、逆に人間の苦手分野です。その意味でfor文はまさにプログラミングのメリットをもっとも顕著に表した処理と言っても過言ではありません。繰り返しと並ぶ基本処理に条件分岐がありますが、繰り返し処理の方がよりコンピューターならではの強みを活かせます。