LoginSignup
5
5

More than 5 years have passed since last update.

Swift入門 勉強記録 その7 繰り返し

Last updated at Posted at 2014-09-22

 
・Swiftに関する他の記事はこちら
Swift入門 勉強記録 その1 Swiftとは、Playground起動

Swift入門 勉強記録 その2 変数、定数、文字列

Swift入門 勉強記録 その3 セミコロン

Swift入門 勉強記録 その4 数値、真偽値

Swift入門 勉強記録 その5 Tuple(組)とは

Swift入門 勉強記録 その6 数値を文字列とするには

Swift入門 勉強記録 その7 繰り返し

Swift入門 勉強記録 その8 条件分岐

Swift入門 勉強記録 その9 Optional型

Swift入門 勉強記録 その10 Collection
 

for文

書き方は下記のとおり。

for ループ変数 in 初期値...終了値 {
//条件を満たしている時の実行内容
}

初期値と終了値で...をはさんで範囲を指定する。
条件を満たしているときは処理を実行し、
ループ変数を+1していき、終了値に至るまで処理が実行される。

試す。

import UIKit

let myName = "Yamada Taro"

for i in 1...5 {
    println("\(i) - \(myName)")
}

スクリーンショット 2014-09-21 21.10.05.png

ちなみにこのループ変数はletであり、変更できない。
試してみる。

import UIKit

let myName = "Yamada Taro"

for i in 1...5 {
    println("\(i) - \(myName)")
    i++
}

確かにエラーとなった。

スクリーンショット 2014-09-21 21.21.12.png

1...5の部分を変数or定数として定義することもできる。
let range = 1...5
とするのだ。

試す。

import UIKit

let myName = "Yamada Taro"
let range = 1...5


for i in range {
    println("\(i) - \(myName)")
}

スクリーンショット 2014-09-21 21.25.48.png

これは型推測により、1...5をRange型として定義されているようだ。
let range = 1...5
⇒let range = Range(start:1, end:6)
となっている。

また、1..<6という書き方もありだ。

import UIKit

let myName = "Yamada Taro"

for i in 1..<6 {
    println("\(i) - \(myName)")
}

スクリーンショット 2014-09-21 21.41.19.png

for文の範囲指定について、
DictionaryやArrayを使うことができる。
 ※DictionaryやArrayについてはたぶん後述する。

for文の範囲指定がString型が使えるのだ。

試してみよう

import UIKit

let myName = "Yamada Taro"

for i in myName {
    println("\(i) - \(myName)")
}

Stringの文字数だけfor文の中身が実行された。
スクリーンショット 2014-09-21 21.53.38.png

while文

for文同様に繰り返し処理に利用する。
whileを利用した繰り返し処理には、
・繰り返し処理実行前に条件をチェックする
・繰り返し処理実行後に条件をチェックする
の2通りある。

繰り返し処理実行前に条件をチェックする

下記のように利用する。
while ループ変数 < 終了値{
// 条件を満たしているときの処理
ループ変数++
}

試してみる。

import UIKit

let myName = "Yamada Taro"

var i = 0
while i < 5{
    println("\(i) - \(myName)")
    i++
}

スクリーンショット 2014-09-22 21.02.34.png

繰り返し処理実行実行後に条件をチェックする

下記のように利用する。
do{
// 条件を満たしているときの処理
ループ変数++
}while(ループ変数 < 終了値)

試してみる。

import UIKit

let myName = "Yamada Taro"

var i = 0
do{

    println("\(i) - \(myName)")
    i++
}while(i < 5)

スクリーンショット 2014-09-22 21.21.46.png

今回はここまで。

 
・Swiftに関する他の記事はこちら
Swift入門 勉強記録 その1 Swiftとは、Playground起動

Swift入門 勉強記録 その2 変数、定数、文字列

Swift入門 勉強記録 その3 セミコロン

Swift入門 勉強記録 その4 数値、真偽値

Swift入門 勉強記録 その5 Tuple(組)とは

Swift入門 勉強記録 その6 数値を文字列とするには

Swift入門 勉強記録 その7 繰り返し

Swift入門 勉強記録 その8 条件分岐

Swift入門 勉強記録 その9 Optional型

Swift入門 勉強記録 その10 Collection

5
5
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
5
5