LoginSignup
0
1

More than 3 years have passed since last update.

for-in文を理解しよう!

Posted at

今回は、for-in文について学習したので、アウトプットしていきます
※以下の内容は、学習内容のアウトプット用のため、誤りがある場合があります。予めご了承ください

for-in文とは?

for-in文は各要素を実行文に順次渡しながら、その要素の数だけ繰り返しを行います。

基本的な書き方は以下の通りです

qiita.rbvar
for 要素名 in シーケンス { 
要素ごとに繰り返し実行される文
 }

※シーケンス・・・連続(しているもの)、一続き(のもの)、順序、順番、並び、配列(する)、逐次、並べる、順序付ける、などの意味を持つ。

次は簡単な例を見ていきましょう。

qiita.rbvar
1.let array = [1,2,3]
2.for element in array {

print(element)
}
実行結果
1
2
3

上記の例では、配列array内の値に、定数elementを通じて1つずつアクセスしています。

Dictionary型の要素をfor-inで列挙する場合、要素の型は(key,value)型のタプルとなります。例えば、[String: Int]型の値を
for-in文に渡すと、要素は(String: Int)型となります。

簡単な例を見ていきましょう。

qiita.rbvar
let dictionary = ["a": 1,"b": 2]

for (key,value) in dictionary {

print("key:\(key),Value\(value)")
}
実行結果
key: a Value: 1
key: b Value: 2

break文

break文は、実行文を中断し、さらに、繰り返し文全体を終了します。例えば、これ以上繰り返しを行なう必要が奈君あた場合などに使用します。

簡単な例を見ていきましょう。

qiita.rbvar
var containsThree = false
let array = [1,2,3,4,5]

for element in array {
if element == 3 {
  containsThree = true
  break
//3が見つかったら終了
}
print("element:\(containsTwo)")
}
print("containsTwo: \(containsTwo)")

実行結果
element: 3
containsTwo: true

上記の例では、配列の中に3が含まれているかを検査するプログラムです。
3が見つかった時点で後続の繰り返しを行なう必要はないので、break文を用いて繰り返し文を終了しています。

continue文

continue文は、実行文を中断した後、後続の繰り返しを継続します。例えば、特定の場合だけ処理をスキップする場合などに使用します。

qiita.rbvar
var adds = [Int]()
let array = [1,2,3,]

for element in array {
    if element % 2 == 1 {
    adds.append(element)
    continue
}
print("even: \(element)")

}

print("odds:\(adds)")

実行結果
even: 2
adds: [1,3]

上記の例では、break文とは異なり後続の繰り返しは継続され、全ての要素にたいして処理が行われていることがわかります。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1