文書   >   Swift   >   Swift 標準ライブラリ   >   Collections   >   Range   >   prefix(through:)
インスタンスメソッド
prefix(through:)
コレクションの先頭から指定された位置までの部分シーケンスを返します。
宣言
func prefix(through position: Bound) -> Range<Bound>
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
パラメータ
end | 結果の部分シーケンスに含めるべき最後の要素のインデックス。end は、endIndex プロパティと等しくないコレクションの有効なインデックスでなければなりません。 |
戻り値
end の位置を含む、そこまでの部分シーケンス。
議論
結果の部分シーケンスには、end の位置に要素が 含まれます。以下の例では、整数の配列の中の 40 番のインデックスを検索し、その後配列の接頭辞 (prefix) をそのインデックスまで含めて出力します。
let numbers = [10, 20, 30, 40, 50, 60]
if let i = numbers.firstIndex(of: 40) {
print(numbers.prefix(through: i))
}
// Prints "[10, 20, 30, 40]"
prefix(through:) メソッドを使用することは、コレクションのサブスクリプトとして部分閉鎖範囲を使用することと同じです。prefix(through:) よりもサブスクリプト表記が好まれます。
if let i = numbers.firstIndex(of: 40) {
print(numbers[...i])
}
// Prints "[10, 20, 30, 40]"
複雑さ:O(1)
以下も見よ
要素の選択
func filter((Bound) -> Bool) -> [Bound]
与えられた predicate (述語) を満たすシーケンスの要素を順番に含む配列を返します。
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
func prefix(Int) -> Range<Bound>
コレクションの最初の要素を含む、指定された最大長までの部分シーケンスを返します。
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
func prefix(upTo: Bound) -> Range<Bound>
コレクションの先頭から指定された位置を含まない、そこまでの部分シーケンスを返します。
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
func prefix(while: (Bound) -> Bool) -> Range<Bound>
predicate (述語) が false を返し、残りの要素をスキップするまで、最初の要素を含む部分シーケンスを返します。
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
func suffix(Int) -> Range<Bound>
コレクションの最後の要素を含む、与えられた最大長までの部分シーケンスを返します。
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
func suffix(from: Bound) -> Range<Bound>
指定された位置からコレクションの最後までの部分シーケンスを返します。
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。