Syntax
getupvalue(target: function | number, index: number): anyAliases
debug.getupvalueArguments
| Name | Type | Description |
|---|---|---|
target | function | number | Lua function or stack level whose upvalue is read. |
index | number | One-based upvalue index. |
Returns
| Name | Type | Description |
|---|---|---|
upvalue | any | Value stored in the requested upvalue slot. |
Description
Returns one upvalue from a Lua function or stack level by one-based index. Invalid stack levels raise "Level out of range", non-Lua functions raise "Lua Function expected", indexes below 1 raise "Upvalue index starts at 1", and indexes past the available upvalues raise "Upvalue index out of range". debug.getupvalue is an alias.
Call it with 2 parameter(s): target, index. The argument table explains which values are required and which ones only refine the behavior.
It returns upvalue (any). Use the returns table to separate successful values from nil results and recoverable errors.
Example
Read one upvalue from a Lua closure or stack level.
local captured = "ready"
local function target()
return captured
end
print(getupvalue(target, 1))
print(debug.getupvalue(target, 1))