Revision Difference
table.Merge#552592
<function name="Merge" parent="table" type="libraryfunc">
<description>
Merges the key-value pairs of the `source` table with the key-value pairs in the `destination` table.
Recursively merges the key-value pairs of the `source` table with the key-value pairs in the `destination` table.
See <page>table.Inherit</page>, which doesn't override existing values.
See also <page>table.Add</page>, which simply adds values of one table to another.
<note>This function can cause a stack overflow under certain circumstances.</note>
</description>
<realm>Shared and Menu</realm>
<file line="85-L99">lua/includes/extensions/table.lua</file>
<args>
<arg name="destination" type="table">The table you want the source table to merge with</arg>
<arg name="source" type="table">The table you want to merge with the destination table</arg>
</args>
<rets>
<ret name="" type="table">Destination table</ret>
</rets>
</function>
<example>
<description>"Merges" the content of the second table with the first one, overwriting any matching key/value pairs in the destination with the source's version and prints the resulting merge.</description>
<code>
local destination = {[1] = "A", [2] = "Golden", [3] = "Apple"}
local source = {[1] = "Two", [2] = "Orange"}
table.Merge( destination, source )
PrintTable( destination )
</code>
<output>
```
1 = Two
2 = Orange
3 = Apple
```
</output>
</example>