Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What is going on with this article?
@shunta01

for-in文を理解しよう!

今回は、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文とは異なり後続の繰り返しは継続され、全ての要素にたいして処理が行われていることがわかります。

1
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
shunta01
2019年11月まで動物飼育員として働き、退職 2020年9月よりiosエンジニアなるため独学開始 好きな動物に基づいて、動物園とマッチングする​ 「ZooGo」というアプリをリリース ​現在、未経験からiosエンジニアとしてジョブチェンジ中(2021.2〜)

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
1
Help us understand the problem. What is going on with this article?