English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Swift 区間演算子(Range)

この記事では、SwiftのRange、タイプ、用例について学びます。

Range(区間)は値の間隔です。簡単な範囲の例は0、1、2、3、4、5、6、7、8、9、なぜなら数字は0から9連続しています。

以下に説明する二つの範囲演算子を使用して、簡単に範囲を作成できます:

1.閉区間演算子(lowerBound ... upperBound)

これには、区間(lowerboundからupperBound)に含まれるすべての値が含まれています。3ポイント)演算子を使用して宣言します。

例えば: 1...3 値を含む定義1,2,3の範囲

2.半開区間演算子(lowerBound .. <upperBound)

これには、区間(lowerboundからupperBound)に含まれるすべての値が含まれていますが、最後の数(upperBound)は含まれません。..<演算子を使用して宣言します。

例えば: 1..<3 値を含む範囲を定義1および2の範囲

範囲の種類

1.閉じた範囲(lowerBound ... upperBound)

閉じた範囲演算子を使用して作成された範囲は閉じた範囲と呼ばれます。それには、下限から上限までのすべての値が含まれます。

例1:for-をループして閉じた範囲の値を印刷

//1... 3値を含む範囲を定義1、2および3の範囲
for value in 1...3 {
	print(value)
}

プログラムを実行すると、出力は:

1
2
3

上記の例では、1から3(1...3)の範囲の数字-をループして、範囲が含む値を確認-の詳細については、Swift for-をループして

をループして-をループして、閉じた範囲は与えられた範囲内のすべての値を含みます、下限(1)と上限(3)。

2.半開範囲(lowerBound .. <upperBound)

半開範囲演算子を使用して作成された範囲は半開範囲と呼ばれます。それには、下限から上限までのすべての値が含まれますが、を含まない上限値

例2:for-をループして半開範囲の値を印刷

// 1..<3 値を含む範囲を定義 1,2
for value in 1..<3 {
	print(value)
}

プログラムを実行すると、出力は:

1
2

上記の例では、for-をループして、半開範囲の動作を確認することができます。

すべての値を印刷する必要はなく、半開範囲演算子を使用して印刷すると、1および2および、上限値(すなわち、3)。

3.単側範囲

単側範囲とは、一方向に可能な限り連続した範囲のことです。半開範囲演算子と閉じた範囲演算子を使用してそれを作成できますが、演算子は一方にのみ値を持つことができます。

例3:単側範囲より小さい2

let range = ..<2
print(range.contains(-1))
print(range.contains(2))

プログラムを実行すると、出力は:

true
false

上記の例では、半開範囲演算子を使用して、小于2の数字のどれかを確認するために。

結果を確認するために、contains メソッドを使用しました。要素が範囲内にある場合、contains メソッドは true を返し、そうでない場合は false を返します。

range.contains(-1) をチェック -1 範囲内にあるかどうかを確認するために、上限が2 および-1 <2したがって、それが範囲内に位置しています。そして、print(range.contains(-1)) は画面で true として出力されます。

しかし、半開範囲演算子を使用しているため、上限値(2)には含まれていません。したがって、range.contains(2) 返り値は false です。

例4:から2始点の単側範囲

let range = 2...
print(range.contains(100))
print(range.contains(1))

プログラムを実行すると、出力は:

true
false

上記の例では、閉じた範囲演算子を使用して単側範囲を作成し、範囲を含む范围を生成します。2から2の値の数字をすべて確認します。

range.contains(100) 検索100が範囲内にあるかどうかを確認します。単側範囲であるため、100が2、したがって範囲内に位置し、スクリーン上に trueを出力します。

ただし、下限値が含まれています(2)、したがって range.contains(1) falseを返します。

注意事項

  • 範囲の起点は終点以下でなければなりません。私たちの例では (lowerBound...upperBound) 、下限値は上限値以下でなければなりません。ただし、負の値でもかまいません。
    例えば:

    3...1  // エラー:upperBound < lowerBoundでRangeを使用することはできません
    -3...1 // これは有効な範囲です。Lowerbound/Upperboundは負の値を含むことができます。
  • 私たちはforを使用して-inループを使用して全体の範囲を巡回します(両側範囲を除く)。

  • 私たちはまた、範囲演算子を使用してアクセスできます配列の要素。