Garry's Mod Wiki

Revision Difference

table.move#548920

<function name="move" parent="table" type="libraryfunc"> <description>Moves elements from one part of a table to another part a given table. This is similar to assigning elements from the source table to the destination table in multiple assignments. <note>This is only available on the x86-64 versions, because of the difference in the LuaJIT version. [See here](jit.version)</note>⤶ </description> <realm>Shared and Menu</realm> <args> <arg name="sourceTbl" type="table">The source table from which the elements are to be moved.</arg> <arg name="from" type="number">The start index of the source range from which the elements are to be moved.</arg> <arg name="to" type="number">The end index of the source range until which the elements are to be moved.</arg> <arg name="dest" type="number">The index within the destination table where the moved elements should be inserted. If this is not specified, the moved elements will be inserted at the end of the table.</arg> <arg name="destTbl" type="table">The destination table to which the elements are to be moved. By default, this is the same as the source table.</arg> </args> <rets> <ret name="" type="table">The modified destination table.</ret> </rets> </function> <example> <description>Example of the this can be used.</description> <code> local source = {"a", "b", "c", "d", "e"} local dest = {"f", "g", "h", "i", "j"} table.move(source, 3, 5, 1, dest) PrintTable(source) print("\n") PrintTable(dest) </code> <output> ``` 1 = a 2 = b 3 = c 4 = d 5 = e 1 = c 2 = d 3 = e 4 = i 5 = j ``` </output> </example>