
LuaSandboxFunction::__construct는 LuaSandboxFunction 클래스의 생성자 메서드입니다. 이 메서드는 LuaSandBox를 사용하여 새로운 함수를 생성할 때 호출됩니다.
이 메서드의 역할은 LuaSandBox에서 새로운 함수를 생성하고 초기화하는 것입니다. 생성자는 함수의 기본 속성을 설정하고, 함수를 실행할 수 있도록 준비하는 역할을 합니다.
LuaSandboxFunction::__construct의 파라미터는 다음과 같습니다.
- `code` : 함수를 실행할 코드를 문자열로 전달합니다.
- `env` : 함수가 실행될 환경을 전달합니다. 기본적으로는 LuaSandBox의 기본 환경을 사용합니다.
- `globals` : 함수가 사용할 전역 변수를 전달합니다.
- `maxMemory` : 함수가 사용할 최대 메모리 크기를 전달합니다.
이 메서드를 사용하는 예시를 통해 실제 사용 방법을 알려드리겠습니다.
#hostingforum.kr
lua
local sandbox = require("lua-sandbox")
local func = sandbox.new({
code = "function add(a, b) return a + b end",
env = { math = math },
globals = { a = 1, b = 2 },
maxMemory = 1024 * 1024
})
local result = func()
print(result) -- 3
위 코드에서 LuaSandboxFunction::__construct가 호출되는 부분은 `sandbox.new()` 메서드에서 호출됩니다. 이 메서드는 LuaSandBox에서 새로운 함수를 생성하고 초기화하는 역할을 합니다.
`sandbox.new()` 메서드는 `code` 파라미터를 통해 함수를 실행할 코드를 전달하고, `env` 파라미터를 통해 함수가 실행될 환경을 전달합니다. `globals` 파라미터를 통해 함수가 사용할 전역 변수를 전달하고, `maxMemory` 파라미터를 통해 함수가 사용할 최대 메모리 크기를 전달합니다.
이러한 파라미터를 통해 함수를 생성하고 초기화한 후, `func()` 메서드를 호출하여 함수를 실행합니다. 함수의 결과를 `result` 변수에 저장하고, `print()` 함수를 통해 결과를 출력합니다.
2025-06-11 09:31