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