A slice of an Array, ContiguousArray, or ArraySlice instance.
あるArray、ContiguousArray、またはArraySliceインスタンスの断片。
Availability
iOS 8.0+
iPadOS 8.0+
macOS 10.10+
Mac Catalyst 13.0+
tvOS 9.0+
watchOS 2.0+
Xcode 6.3+
Technology
Swift Standard Library
Swift標準ライブラリ
Declaration
宣言
@frozenstructArraySlice<Element>
Overview
概要
The ArraySlice type makes it fast and efficient for you to perform operations on sections of a larger array. Instead of copying over the elements of a slice to new storage, an ArraySlice instance presents a view onto the storage of a larger array. And because ArraySlice presents the same interface as Array, you can generally perform the same operations on a slice as you could on the original array.ArraySlice型は、ある大きな配列の各部分上で演算を実行することをあなたの代わりにより速くより効率的にします。ある断片部分(スライス)の要素をすっかり新しいストレージにコピーする代わりに、ArraySliceインスタンスはある大きな配列に関するある見方(ビュー)を提示します。そしてArraySliceはArrayと同じインターフェイスを提供するので、あなたは一般的にあなたが元の配列上でできるのと同じ操作をスライス上で実行できます。
For more information about using arrays, see Array and ContiguousArray, with which ArraySlice shares most properties and methods.
配列の使用についてのさらなる情報として、ArrayとContiguousArrayを見てください、それらとArraySliceはほとんどのプロパティとメソッドを共有します。
Slices Are Views onto Arrays
スライスは配列に関する見方です
For example, suppose you have an array holding the number of absences from each class during a session.
例えば、あなたがある学期(2学期制)の各クラスの欠席者数が入った配列を持つと考えてください。
You want to compare the absences in the first half of the session with those in the second half. To do so, start by creating two slices of the absences array.
あなたは、前学期の欠席者を後半のそれと比較したいと思います。それをするには、absences配列の2つのスライスを作成することで始めます。
Neither the firstHalf nor secondHalf slices allocate any new storage of their own. Instead, each presents a view onto the storage of the absences array.firstHalfおよびsecondHalfスライスのどちらも、なんらそれら独自の新規ストレージを割り当てません。代わりに、absences配列のストレージ上でのひとつのビューをそれぞれが提示します。
You can call any method on the slices that you might have called on the absences array. To learn which half had more absences, use the reduce(_:_:) method to calculate each sum.
あなたはどんなメソッドでもそれらスライス上で呼び出すことができます、それはあなたがabsences配列上で呼び出すであろうものです。前半後半のどちらがより多くの欠席者がいるか突き止めるには、reduce(_:_:)メソッドを使ってそれぞれ総計を計算します。
Slices Maintain Indices
スライスはインデックスを維持します
Unlike Array and ContiguousArray, the starting index for an ArraySlice instance isn’t always zero. Slices maintain the same indices of the larger array for the same elements, so the starting index of a slice depends on how it was created, letting you perform index-based operations on either a full array or a slice.ArrayおよびContiguousArrayとは違い、ArraySliceインスタンスのインデックスの始まりは必ずしもゼロではありません。スライスはより大きな配列と同じインデックスを同じ要素に対して維持します、そのためスライスの開始インデックスはそれがどう作成されたかによって決まり、あなたにインデックスに基づく演算を完全な配列またはスライスのどちらでも実行させます。
Sharing indices between collections and their subsequences is an important part of the design of Swift’s collection algorithms. Suppose you are tasked with finding the first two days with absences in the session. To find the indices of the two days in question, follow these steps:
コレクションとそれらの下位シーケンスとの間のインデックスの共有は、Swiftのコレクションアルゴリズム設計の重要な部分のひとつです。あなたがこの学期において欠席者のある最初の2つの日付を見つける任務を負うと考えてください。当該の2つの日付のインデックスを見つけるには、これらの手順を踏んでください:
Call firstIndex(where:) to find the index of the first element in the absences array that is greater than zero.firstIndex(where:)を呼んでabsences配列の中の、ゼロより大きい最初の要素がもつインデックスを手に入れてください。
Create a slice of the absences array starting after the index found in step 1.absences配列のスライスを、手順1で見つけたインデックスの後から開始して作成します。
Call firstIndex(where:) again, this time on the slice created in step 2. Where in some languages you might pass a starting index into an indexOf method to find the second day, in Swift you perform the same operation on a slice of the original array.firstIndex(where:)もう一度呼び出します、今回は手順にで作成したスライス上で。何らかの言語ではあなたはある開始インデックスをindexOfメソッドに渡して2つ目の日付を見つけるかもしれないところで、Swiftではあなたは同じ演算をオリジナル配列のスライス上で実行します。
Print the results using the indices found in steps 1 and 3 on the original absences array.
手順1と手順3で見つけたインデックスをオリジナルabsences配列上で使って結果を出力してください。
Here’s an implementation of those steps:
ここにこれらの手順の実装があります:
In particular, note that j, the index of the second day with absences, was found in a slice of the original array and then used to access a value in the original absences array itself.
特に、欠席者のいる第2の日付のインデックス、jが、オリジナル配列のひとつのスライス上で捜されて、それから値のアクセスのためにオリジナルのabsences配列自身において使われる点に注意してください。
The array’s “past the end” position—that is, the position one greater than the last valid subscript argument.
配列の「終わりを過ぎた」位置—すなわち、最後の有効な添え字引数より1つ大きい位置。
A sequence containing the same elements as this sequence, but on which some operations, such as map and filter, are implemented lazily.
このシーケンスと同じ要素を含んでいるシーケンス、しかしそれの上で何らかの演算、例えばmapやfilterが遅延に実装されます。
Returns an array containing the non-nil results of calling the given transformation with each element of this sequence.
指定された変換をこのシーケンスの各要素で呼び出す結果で非-nilのものを含んでいる配列を返します。
Returns a Boolean value indicating whether the sequence contains an element that satisfies the given predicate.
指定された述部を満足させるある要素をシーケンスが含むかどうかを指し示すブール値を返します。
Returns the difference needed to produce this collection’s ordered elements from the given collection.
このコレクションのもつ順番付けられた要素をこの与えられたコレクションから生成するのに必要とされる差異を返します。
Available when Element conforms to Equatable.ElementがEquatableに準拠する時に利用可能です。
Returns the difference needed to produce this collection’s ordered elements from the given collection, using the given predicate as an equivalence test.
このコレクションのもつ順番付けられた要素をこの与えられたコレクションから生成するのに必要とされる差異を返します、与えられた述部を同等性テストとして使います。
Returns a subsequence by skipping elements while predicate returns true and returning the remaining elements.predicateがtrueを返す間は要素を飛ばして残りの要素を返すことによって、ある下位シーケンスを返します。
Returns a Boolean value indicating whether this sequence and another sequence contain the same elements in the same order.
このシーケンスともう一方のシーケンスが同じ要素を同じ順序で含むかどうかを指し示すブール値を返します。
Available when Element conforms to Equatable.ElementがEquatableに準拠する時に利用可能です。
Returns a Boolean value indicating whether this sequence and another sequence contain equivalent elements in the same order, using the given predicate as the equivalence test.
このシーケンスともう一方のシーケンスが同等の要素を同じ順序で含むかどうかを、与えられた述部を同等テストとして使って、指し示しているブール値を返します。
Returns a sequence of pairs (n, x), where n represents a consecutive integer starting at zero and x represents an element of the sequence.
ペア (n, x) のシーケンスを返します、そこでnはゼロで開始する連続した数を表して、xはシーケンスの要素を表します。
Returns an array containing the concatenated results of calling the given transformation with each element of this sequence.
指定された変換をこのシーケンスの各要素で呼び出す結果を連結したものを含んでいる配列を返します。
Offsets the given index by the specified distance, or so that it equals the given limiting index.
与えられたインデックスをこの指定された隔たりで補います、またはそれでそれは与えられた限界インデックスと等しくなります。
Returns an index that is the specified distance from the given index, unless that distance is beyond a given limiting index.
与えられたインデックスから指定された隔たりのインデックスを返します、その隔たりが与えられた限界インデックスを越えない限りは。
Returns the concatenated elements of this sequence of sequences, inserting the given separator between each element.
各要素の間に与えられた分離子を挿入して、このシーケンスに属する複数のシーケンスの要素を鎖状に連結して返します。
Available when Element conforms to Sequence.ElementがSequenceに準拠する時に利用可能です。
Returns a new string by concatenating the elements of the sequence, adding the given separator between each element.
各要素の間に与えられた分離子を加えて、シーケンスの要素を連結することによる新しい文字列を返します。
Available when Element is String.ElementがStringである時に利用可能です。
Returns a new string by concatenating the elements of the sequence, adding the given separator between each element.
各要素の間に与えられた分離子を加えて、シーケンスの要素を連結することによる新しい文字列を返します。
Available when Element conforms to StringProtocol.ElementがStringProtocolに準拠する時に利用可能です。
Returns a Boolean value indicating whether the sequence precedes another sequence in a lexicographical (dictionary) ordering, using the less-than operator (<) to compare elements.
そのシーケンスが別のシーケンスの前に来るかどうかを、ある語彙筆記的順序(字典)順序において、より小さい演算子(<)を使って要素を比較して、指し示すブール値を返します。
Available when Element conforms to Comparable.ElementがComparableに準拠する時に利用可能です。
Returns a Boolean value indicating whether the sequence precedes another sequence in a lexicographical (dictionary) ordering, using the given predicate to compare elements.
シーケンスが別のシーケンスの前に来るかどうかをある語彙筆記的順序(字典)順序において、与えられた述部を使って要素を比較して、指し示すブール値を返します。
Reorders the elements of the collection such that all the elements that match the given predicate are after all the elements that don’t match.
コレクションの要素を再配列します、例えば、与えられた述部にマッチする要素すべてが、合致しない要素すべての後になるなど。
Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
下位シーケンスを、指定された最大長まで、コレクションの冒頭の要素を含めて返します。
Returns a subsequence containing the initial elements until predicate returns false and skipping the remaining elements.predicateがfalseを返すまで冒頭の要素を含んでいて残りの要素を飛ばしている、ある下位シーケンスを返します。
Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
与えられた述部を満たす要素を含んでいない、このコレクションの最も長くなりうる下位シーケンスそれらを順序どおりに返します。
Returns the longest possible subsequences of the collection, in order, around elements equal to the given element.
与えられた要素と等しい要素を避けるようにして、このコレクションの最も長くなりうる下位シーケンスを、順番に返します。
Available when Element conforms to Equatable.ElementがEquatableに準拠する時に利用可能です。
Returns a Boolean value indicating whether the initial elements of the sequence are the same as the elements in another sequence.
シーケンスの最初の要素らが別のシーケンスの中の要素らと同じかどうかを指し示すブール値を返します。
Available when Element conforms to Equatable.ElementがEquatableに準拠する時に利用可能です。
Returns a Boolean value indicating whether the initial elements of the sequence are equivalent to the elements in another sequence, using the given predicate as the equivalence test.
シーケンスの最初の要素らが別のシーケンスの中の要素らと同等かどうかを、与えられた述部を同等性テストとして使って指し示すブール値を返します。
Calls the given closure with a pointer to the underlying bytes of the array’s mutable contiguous storage.
与えられたクロージャを、配列の可変の隣接ストレージの基礎をなすバイトへのポインタとともに呼び出します。