for_whereの使い方

SwiftはObjective-Cからかなりより新しいコードの書き方が提唱された一方、なおかつC言語に由来するレガシーな書き方を排除する傾向にあり、Swift 3ではそれが推し進められた形となった。さて、今回はSwiftで使われるであろうfor_whereの使い方について説明をしたい。

for_whereは、SwiftLintのルールがさらに厳しくなったでも軽く取り上げたが、forループでも、配列の範囲ベースのものを使う時に、その配列内の要素が特定の条件にマッチしている時のみに処理するという時に推奨されるものである。例えば、以下のようなコードがあったとする。

これは、配列内の要素が5より大きければ「(数字) is greater than 5」と表示するプログラムだが、Swiftにおいては、より簡潔に書ける方法がある。

サンプルは以下の通りである。

こうすることによって、コードの記述量を減らすことができる。

なお、for_where文は以下のような時は使えない。

上記のケースは条件に合致しない時の処理も行なっているからである。

なお、SwiftLintでは、for_whereの部分で融通の利かない部分があり、型変換などの処理が入っている時にもfor_where絡みの警告が出てきてしまう時がある。その場合は無理に対処するのは適切とは言い難いだろう。

ウェブマスター。本ブログでITを中心にいろいろな情報や意見などを提供しています。ご用の方はコメントかコンタクトフォームにて。

スポンサーリンク

フォローする