A 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.
マップを行うクロージャ。transform
はこのシーケンスのひとつの要素をそれのパラメータとして受け取り、同じもしくは異なる型の変換された値を返します。
compactMap(_:)
Availability
- iOS 13.0+
- iPadOS 13.0+
- macOS 10.15+
- Mac Catalyst 15.0+
- tvOS 13.0+
- watchOS 6.0+
- Xcode 13.0+
Technology
- Swift Standard Library Swift標準ライブラリ
Declaration 宣言
func compactMap<ElementOfResult >(_ transform: @escaping (SegmentOfResult .Element
) async -> ElementOfResult ?) -> AsyncCompactMapSequence
<AsyncFlatMapSequence
<Base, SegmentOfResult >, ElementOfResult >
Parameters パラメータ
transform
Return Value 戻り値
An asynchronous sequence that contains, in order, the non-nil
elements produced by the transform
closure.
ある非同期シーケンス、それはtransform
クロージャによって生み出された非nil
要素それらを、順番に含みます。
Discussion 解説
Use the compact
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.
compact
メソッドを使うことで、基底非同期シーケンスから受け取ったあらゆる要素を変換してください、そして一方でまたあらゆるnil
結果をクロージャから廃棄して。概して、あなたはこれを使ってある型の要素から別のものへと変換します。
In this example, an asynchronous sequence called Counter
produces Int
values from 1
to 5
. The closure provided to the compact
method takes each Int
and looks up a corresponding String
from a roman
dictionary. Because there is no key for 4
, the closure returns nil
in this case, which compact
omits from the transformed asynchronous sequence.
この例において、Counter
と呼ばれる非同期シーケンスは、Int
値を1
から5
まで生み出します。compact
メソッドに提供されたクロージャは、各Int
をとり、そして対応しているString
をroman
辞書から捜します。4
に対するキーがないことから、クロージャはnil
をその場合には返します、それはcompact
がこの変換された非同期シーケンスから省きます。