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