debug.setupvalue
指定した関数のアップバリューに値を設定する
lua
debug.setupvalue (func, up, value)
説明
関数func
のup
番目のアップバリューに値value
を設定します。アップバリューが存在しない場合はnil
を返します。
サンプルコード
lua
local function outer()
local x = 10
local function inner() return x end
debug.setupvalue(inner, 1, 20)
print(inner()) -- 20が表示される
end
outer()
この例では、関数inner
のアップバリューx
の値が変更されます。
LuaJIT独自の拡張
- メタメソッドを識別する。
- C関数を扱う。(Lua5.2から)
互換性
- Lua 5.1
- LuaJIT