Instance Method インスタンスメソッド

merge(_:uniquingKeysWith:)

Merges the given dictionary into this dictionary, using a combining closure to determine the value for any duplicate keys. 与えられた辞書をこの辞書へと結合します、結合用のクロージャを使って何らかの重複キーに対して値を決定します。

Declaration 宣言

mutating func merge(_ other: [Key : Value], uniquingKeysWith combine: (Value, Value) throws -> Value) rethrows

Parameters パラメータ

other

A dictionary to merge. 結合することになる辞書。

combine

A closure that takes the current and new values for any duplicate keys. The closure returns the desired value for the final dictionary. あるクロージャで、何らかの重複キーに対する現在および新しい値それぞれをとるもの。このクロージャは、最終的な辞書に対して望む値を返します。

Discussion 解説

Use the combine closure to select a value to use in the updated dictionary, or to combine existing and new values. As the key-values pairs in other are merged with this dictionary, the combine closure is called with the current and new values for any duplicate keys that are encountered. combineクロージャを使ってある値を選択することで更新された辞書において使ってください、または既存のものと新しい値を結合してください。otherの中のキー値ペアがこの辞書と結合されるとき、combineクロージャは、遭遇される何らかの重複キーに対して現在および新規の値とともに呼び出されます。

This example shows how to choose the current or new values for any duplicate keys: この例は、あらゆる重複キーに対して現在および新規の値を選択する方法を示します:


var dictionary = ["a": 1, "b": 2]


// Keeping existing value for key "a":
dictionary.merge(["a": 3, "c": 4]) { (current, _) in current }
// ["b": 2, "a": 1, "c": 4]


// Taking the new value for key "a":
dictionary.merge(["a": 5, "d": 6]) { (_, new) in new }
// ["b": 2, "a": 5, "c": 4, "d": 6]

See Also 参照

Adding Keys and Values キーと値を追加する