本文へスキップ

merge関数

merge関数は、任意の数のマップまたはオブジェクトを受け取り、すべての引数からマージされた要素を含む単一のマップまたはオブジェクトを返します。

複数のマップまたはオブジェクトが同じキーまたは属性を定義する場合、引数シーケンスで後に出現するものが優先されます。引数の型が一致しない場合、結果の型は、マージルールが適用された後の属性の型構造と一致するオブジェクトになります。

コードブロック
> merge({a="b", c="d"}, {e="f", c="z"})
{
"a" = "b"
"c" = "z"
"e" = "f"
}
コードブロック
> merge({a="b"}, {a=[1,2], c="z"}, {d=3})
{
"a" = [
1,
2,
]
"c" = "z"
"d" = 3
}

次の例では、展開記号(...)を使用して値を個別の引数に変換しています。関数引数の展開を参照してください。

コードブロック
> merge([{a="b", c="d"}, {}, {e="f", c="z"}]...)
{
"a" = "b"
"c" = "z"
"e" = "f"
}