XCode 16.4 日本語化計画
与えられた変換を使用して失敗の値をマッピングし、新しい結果を返します。
func flatMap<NewSuccess>(_ transform: (Success) -> Result<NewSuccess, Failure>) ->
Result<NewSuccess, Failure> where NewSuccess : ~Copyable
Failure が Error に準拠している場合に使用できます。
transform
このインスタンスの成功の値を受け取るクロージャ。
このクロージャまたは前の .failure からの Result のインスタンス。
あなたの変換によって別の Result 型が生成される場合、このメソッドを使用してネストされた結果を避けてください。
以下の例では、結果の型を返す変換で map と flatMap を使用した場合の結果の違いに注目してください。
func getNextInteger() -> Result<Int, Error> { .success(4) } func getNextAfterInteger(_ n: Int) -> Result<Int, Error> { .success(n + 1) } let result = getNextInteger().map { getNextAfterInteger($0) } // result == .success(.success(5)) let result = getNextInteger().flatMap { getNextAfterInteger($0) } // result == .success(5)
func map<NewSuccess>((Success) -> NewSuccess) -> Result<NewSuccess, Failure>
与えられた変換を使用して成功の値をマッピングし、新しい結果を返します。
func mapError<NewFailure>((Failure) -> NewFailure) -> Result<Success, NewFailure>
与えられた変換を使用して失敗の値をマッピングし、新しい結果を返します。
与えられた変換を使用して失敗の値をマッピングし、生成された結果を開封して、新しい結果を返します。