文書   >   Swift   >   Swift 標準ライブラリ   >   Collections   >   Supporting Types   >   PartialRangeFrom   >   reduce(into:_:)     Beta  


汎用インスタンスメソッド


reduce(into:_:)


与えられたクロージャを使用してシーケンスの要素を結合した結果を返します。





宣言


func reduce<Result>(into initialResult: Result, _ updateAccumulatingResult:
	 (inout Result, Bound) throws -> ()) rethrows -> Result


パラメータ


initialResult初期累積値として使用すべき値。
updateAccumulatingResultシーケンスの要素で累積値を更新するクロージャ。


戻り値


最終的な累積値。シーケンスに要素がない場合、結果は initialResult になります。


議論


reduce(into:_:) メソッドを使用して、シーケンス全体の要素から単一の値を生成します。たとえば、整数の配列に対してこのメソッドを使用して、隣接する等しいエントリーまたは count の頻度をフィルターすることができます。


このメソッドは、結果がコピーオンライト型 (ArrayDictionary など) の場合に効率のために reduce(_:_:) よりも好まれます。


updateAccumulatingResult クロージャは、initialResult およびシーケンスの各要素に初期化された変更可能な累積値で順次呼び出されます。この例では、文字列の文字の頻度の辞書を作成する方法を示しています。



let letters = "abracadabra"
let letterCount = letters.reduce(into: [:]) { counts, letter in
    counts[letter, default: 0] += 1
}
// letterCount == ["a": 5, "b": 2, "r": 2, "c": 1, "d": 1]



letters.reduce(into:_:) が呼び出されると、以下の手順が実行されます。


  1. updateAccumulatingResult クロージャは、最初の累積値 - この場合は - [:]letters の最初の文字で呼び出され、キー "a" に 1 を設定して累積値を変更します。

  2. クロージャは、更新された累積値とシーケンスの各要素で繰り返し呼び出されます。

  3. シーケンスが使い尽くされると、累積値が呼び出し元に返されます。

シーケンスに要素がない場合、updateAccumulatingResult は決して実行されず、initialResultreduce(into:_:) への呼び出しの結果です。



ベータソフトウェア

このドキュメントには、開発中の API または技術に関する予備情報が含まれています。この情報は変更されることがあり、このドキュメントに従って実装されたソフトウェアは、最終的なオペレーティングシステムソフトウェアでテストする必要があります。

Apple のベータ版ソフトウェアの使用方法の詳細について学ぶ >






目次
Xcode の新機能

  • SDK
  • Xcode 10.0+     Beta  

  • フレームワーク
  • Swift 標準ライブラリ
  • 宣言
  • パラメータ
  • 戻り値
  • 議論












  • トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)