debug.getproto
Returns the proto at the specified position. If third argument is true, instead returns a table which contains the active functions of the proto.
function debug.getproto(func: (...any) -> (...any) | number, index: number, activated: boolean?): (...any) -> (...any) | { (...any) -> (...any) }
Parameters
func
- The function to obtain the proto from.index
- The position of the proto.activated
- Whether to search the GC for the active function of the proto.
Examples
local function DummyFunction()
local function DummyProto1()
print("Hello")
end
local function DummyProto2()
print("Hello2")
end
end
debug.getproto(DummyFunction, 1)() -- Output: Hello
debug.getproto(DummyFunction, 2)() -- Output: Hello2
local function DummyFunction()
local function DummyProto()
return "hi"
end
return DummyProto
end
local RealProto = DummyFunction()
local RetrievedProto = debug.getproto(DummyFunction, 1, true)[1]
print(RealProto == RetrievedProto) -- Output: true
print(RetrievedProto()) -- Output: hilua
Last updated