Creates an asynchronous sequence that maps an error-throwing closure over the base sequence’s elements, omitting results that don’t return a value.
ある非同期シーケンスを作成します、それはあるエラースロークロージャを基底シーケンスのもつ要素のすべてにわたってマップします、値を返さない結果を省きます。
An error-throwing mapping closure. transform accepts an element of this sequence as its parameter and returns a transformed value of the same or of a different type. If transform throws an error, the sequence ends.
あるエラースローマッピングクロージャ。transformはこのシーケンスのひとつの要素をそれのパラメータとして受け取り、同じもしくは異なる型の変換された値を返します。transformがエラーをスローするならば、そのシーケンスは終わります。
Return Value
戻り値
An asynchronous sequence that contains, in order, the non-nil elements produced by the transform closure. The sequence ends either when the base sequence ends or when transform throws an error.
ある非同期シーケンス、それはtransformクロージャによって生み出された非nil要素それらを、順番に含みます。シーケンスは、基底シーケンスが終わる時かまたはtransformがエラーをスローする時に終わります。
Discussion
解説
Use the compactMap(_:) method to transform every element received from a base asynchronous sequence, while also discarding any nil results from the closure. Typically, you use this to transform from one type of element to another.compactMap(_:)メソッドを使うことで、基底非同期シーケンスから受け取ったあらゆる要素を変換してください、そして一方でまたあらゆるnil結果をクロージャから廃棄して。概して、あなたはこれを使ってある型の要素から別のものへと変換します。
In this example, an asynchronous sequence called Counter produces Int values from 1 to 5. The closure provided to the compactMap(_:) method takes each Int and looks up a corresponding String from a romanNumeralDict dictionary. Since there is no key for 4, the closure returns nil in this case, which compactMap(_:) omits from the transformed asynchronous sequence. When the value is 5, the closure throws MyError, terminating the sequence.
この例において、Counterと呼ばれる非同期シーケンスは、Int値を1から5まで生み出します。compactMap(_:)メソッドに提供されたクロージャは、各Intをとり、そして対応しているStringをromanNumeralDict辞書から捜します。4に対するキーがないことから、クロージャはnilをその場合には返します、それはcompactMap(_:)がこの変換されたシーケンスから省きます。値が5である場合、クロージャはMyErrorをスローして、シーケンスを終端しています。
See Also
参照
Accessing an Asynchronous Sequence of Results
結果それらからなるある非同期シーケンスにアクセスする
Returns a Boolean value that indicates whether all elements produced by the asynchronous sequence satisfies the given predicate.
あるブール値を返します、それは非同期シーケンスによって生み出される全ての要素がこの与えられた述部を満足させるかどうかを指し示します。
Creates an asynchronous sequence that maps the given closure over the asynchronous sequence’s elements, omitting results that don’t return a value.
ある非同期シーケンスを作成します、それは与えられたクロージャを非同期シーケンスのもつ要素のすべてにわたってマップします、値を返さない結果を省きます。
Returns a Boolean value that indicates whether the asynchronous sequence contains an element that satisfies the given predicate.
あるブール値を返します、それは非同期シーケンスがこの与えられた述部を満足させる要素を含むかどうかを指し示します。
Omits elements from the base asynchronous sequence until a given closure returns false, after which it passes through all remaining elements.
要素を基底非同期シーケンスから、ある与えられたクロージャがfalseを返すまで省きます、それの後それは全ての残りの要素をずっと渡します。
Omits a specified number of elements from the base asynchronous sequence, then passes through all remaining elements.
指定された数の要素を基底非同期シーケンスから除きます、それから全ての残りの要素をずっと渡します。
Creates an asynchronous sequence that contains, in order, the elements of the base sequence that satisfy the given predicate.
ある非同期シーケンスを作成します、それは基底シーケンスの要素それらを、順番に含みます、それらは与えられた述部を満たすものです。
Creates an asynchronous sequence that concatenates the results of calling the given error-throwing transformation with each element of this sequence.
ある非同期シーケンスを作成します、それは与えられたエラースロー変換をこのシーケンスの各要素で呼び出すことの結果を連結します。
Creates an asynchronous sequence that concatenates the results of calling the given transformation with each element of this sequence.
ある非同期シーケンスを作成します、それは与えられた変換をこのシーケンスの各要素で呼び出すことの結果を連結します。
Creates an asynchronous sequence that maps the given error-throwing closure over the asynchronous sequence’s elements.
ある非同期シーケンスを作成します、それは与えられたエラースロークロージャを非同期シーケンスのもつ要素のすべてにわたってマップします。
Creates an asynchronous sequence that maps the given closure over the asynchronous sequence’s elements.
ある非同期シーケンスを作成します、それは与えられたクロージャを非同期シーケンスのもつ要素のすべてにわたってマップします。
Returns the maximum element in the asynchronous sequence, using the given predicate as the comparison between elements.
非同期シーケンスの中の最大の要素を返します、与えられた述部を要素間の比較として使います。
Returns the minimum element in the asynchronous sequence, using the given predicate as the comparison between elements.
非同期シーケンスの中の最小の要素を返します、与えられた述部を要素間の比較として使います。
Returns an asynchronous sequence, up to the specified maximum length, containing the initial elements of the base asynchronous sequence.
指定された最大長まで、その基底非同期シーケンスの冒頭の要素を含んでいる、ある非同期シーケンスを返します。
Returns an asynchronous sequence, containing the initial, consecutive elements of the base sequence that satisfy the given predicate.
ある非同期シーケンスを返します、基底シーケンスの冒頭の、連続する要素いくつかを含んでいます、それらは与えられた述部を満たすものです。
Returns the result of combining the elements of the asynchronous sequence using the given closure, given a mutable initial value.
非同期シーケンスの要素をこの与えられたクロージャを使って結合する結果を返します、ある可変の初期値を与えられます。