
LuaSandbox의 `callFunction` 메서드는 Lua 함수를 호출하는 데 사용되며, 첫 번째 인자로 전달하는 `this` 객체는 호출되는 Lua 함수의 `self` 참조를 나타냅니다.
`this` 객체는 호출되는 Lua 함수의 인스턴스 변수에 접근할 수 있도록 허용하며, 이 객체가 `nil`일 경우 호출되는 Lua 함수는 `self` 참조를 사용하지 않습니다.
`this` 객체가 `callFunction` 메서드의 동작에 영향을 미치는 예를 들어보면 다음과 같습니다.
#hostingforum.kr
lua
local sandbox = LuaSandbox.new()
local function Test(self)
print(self.value)
end
local test = {value = "Hello, World!"}
sandbox:callFunction(Test, test) -- "Hello, World!"가 출력됩니다.
sandbox:callFunction(Test, nil) -- 아무것도 출력되지 않습니다.
위의 예에서 `test` 객체는 `Test` 함수의 `self` 참조를 나타내며, `callFunction` 메서드의 첫 번째 인자로 전달됩니다. `test` 객체가 `nil`일 경우 `Test` 함수는 `self` 참조를 사용하지 않습니다.
2025-04-11 03:13