Standard Library Tables
Move Value
Copy a range with table.move and read one copied value.
copied range
`table.move` returns the destination table; this example immediately reads one copied value so the visible trace stays scalar.
Move Value
move_value.lua
Replay: real traced execution (multi-file project)
local pick = 2
local value = table.move({"red", "green", "blue"}, 1, 3, 1, {})[pick]
print("pick=" .. pick)
print("value=" .. value)
local pick = 1
local value = table.move({"red", "green", "blue"}, 1, 3, 1, {})[pick]
print("pick=" .. pick)
print("value=" .. value)
local pick = 3
local value = table.move({"red", "green", "blue"}, 1, 3, 1, {})[pick]
print("pick=" .. pick)
print("value=" .. value)
pick ← 2, value ← green
1local pick→ 2 = 2 --@pick=1, 32local value→ green = table.move({"red", "green", "blue"}, 1, 3, 1, {})[pick]3print("pick=" .. pick2)4print("value=" .. valuegreen)outputpick=2 value=green
pick ← 1, value ← red
1local pick→ 1 = 12local value→ red = table.move({"red", "green", "blue"}, 1, 3, 1, {})[pick]3print("pick=" .. pick1)4print("value=" .. valuered)outputpick=1 value=red
pick ← 3, value ← blue
1local pick→ 3 = 32local value→ blue = table.move({"red", "green", "blue"}, 1, 3, 1, {})[pick]3print("pick=" .. pick3)4print("value=" .. valueblue)outputpick=3 value=blue