table.unpack()

The table.unpack() function returns the elements of a table as separate values, allowing you to easily use them in a function call or assign them to multiple variables.

Syntax

table.unpack(tableData, start, end)

Parameters

  • Name
    tableData
    Type
    table
    Description

    The table containing the elements to be unpacked.

  • Name
    start
    Type
    number
    Description

    The index of the first element to unpack. Defaults to 1.

  • Name
    end
    Type
    number
    Description

    The index of the last element to unpack. If omitted, unpacks all elements from start to the end of the table.

Return

The function returns the elements of the table as separate values. If the specified indices are out of range, it returns nil.

Description

The table.unpack() function is particularly useful for passing table elements as arguments to functions that expect multiple parameters. It allows you to work with table data in a more flexible way.

Examples

Unpacking all elements from a table

local fruits = {"Apple", "Banana", "Cherry"}
local a, b, c = table.unpack(fruits)
print(a, b, c)  -- Output: Apple Banana Cherry

Unpacking with a specified starting index

local numbers = {10, 20, 30, 40, 50}
local second, third = table.unpack(numbers, 2)
print(second, third)  -- Output: 20 30

Unpacking a subset of elements

local colors = {"Red", "Green", "Blue", "Yellow"}
local green, blue = table.unpack(colors, 2, 3)
print(green, blue)  -- Output: Green Blue

Using unpacked values in a function call

local function sum(a, b, c)
    return a + b + c
end

local values = {5, 10, 15}
local result = sum(table.unpack(values))
print(result)  -- Output: 30

See also

  • table.pack(): Packs values into a table, which can be unpacked later.
  • table.insert(): Inserts values into a table, which can then be unpacked.

Was this page helpful?

Table of Contents