English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
この記事では、例を通じてネストループとその動作について学びます。
あるループが他のループの主体内に存在する場合、それをネストループと呼びます。これはネストされたfor-inループの例。
for i in 1...5 { //外部ループの文 for j in 1...2 { //内部ループの文 } //外部ループの文 }
ここでは、for j in 1...2 内部ループはfor i in 1...5外部ループの主体内部に呼ばれる
注意すべきことは、ネストループは同じタイプのループを含まない場合もあります。例えば、whileループをforループの主体内に配置することもできますが、それでもネストループです。
ネストされたfor-inループ別のfor-inループ内にforを含む-inループを文として使用します。必要に応じて、任意の数のネストforを設定できます。-inループ。
for i in 1...5 { print("外ループの反復回数 ", i) for j in 1...2 { print("内ループの反復回数 ", j) print("i = \(i); j = \(j)") } }
このプログラムを実行すると、出力は以下のようになります:
外ループがイテレーション 1 内ループがイテレーション 1 i = 1; j = 1 内ループがイテレーション 2 i = 1; j = 2 外ループがイテレーション 2 内ループがイテレーション 1 i = 2; j = 1 内ループがイテレーション 2 i = 2; j = 2 外ループがイテレーション 3 内ループがイテレーション 1 i = 3; j = 1 内ループがイテレーション 2 i = 3; j = 2 外ループがイテレーション 4 内ループがイテレーション 1 i = 4; j = 1 内ループがイテレーション 2 i = 4; j = 2 外ループがイテレーション 5 内ループがイテレーション 1 i = 5; j = 1 内ループがイテレーション 2 i = 5; j = 2
上記のプログラムでは、外ループがイテレーション5回。外ループの各イテレーション中、内ループの各イテレーション2回。
ネストされたwhileループ別のwhileループ内に含まれるwhileループを含みます。必要に応じて、任意の数のネストwhileループを設定できます。
var i = 1 while i <= 5 { print("外ループの反復回数 ", i) var j = 1 while j <= 2 { print("内ループの反復回数 ", j) print("i = \(i); j = \(j)") j += 1 } i += 1 }
このプログラムの出力は、上記のプログラムと同じです。
ネストされたrepeat whileループ 内にrepeatを含む-whileループとして別のrepeat-whileループ内の文。必要に応じて、任意の数のネストwhileループを設定できます。
var i = 1 repeat { print("外ループの反復回数 ", i) var j = 1 repeat { print("内ループの反復回数 ", j) print("i = \(i); j = \(j)") j += 1 } while (j <= 2) i += 1 } while (i <= 5)
このプログラムの出力は、上記のプログラムと同じです。
同じタイプのネストループは必要ないことがあります。また、異なるタイプのループを他のループの中に配置することで、ネストループのバリエーションを作成することもできます。
以下のプログラムには、異なるタイプのネストループ(whileとfor)が含まれています。-ループ)。
var i = 1 while i <= 5 { print("外ループの反復回数 ", i) for j in 1...2 { print("内ループの反復回数 ", j) print("i = \(i); j = \(j)") } i += 1 }
このプログラムの出力は、上記のプログラムと同じです。
ネストループは、プログラミングでパターンを作成するために通常使用されます。以下のプログラムは、ネストループを使用してシンプルなパターンを作成する方法を示しています。
let rows = 5 for i in 1...rows { for j in 1...i { print("\(j) ", terminator: "") } print("") }
このプログラムを実行すると、出力は以下のようになります:
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5