
	                	                 
Lua::call 함수에서 인자를 넘기는 방법은 여러 가지가 있습니다. 
1. `unpack(arg)` 함수를 사용하여 인자를 넘길 수 있습니다. `arg`는 Lua에서 제공하는 내장 변수로, 함수의 인자를 담고 있습니다. `unpack(arg)` 함수를 사용하여 인자를 배열로 변환한 후, 해당 배열을 메서드에 넘길 수 있습니다.
2. `...`를 사용하여 인자를 넘길 수 있습니다. `...`는 Lua에서 제공하는 가변 인자 변수로, 함수의 인자를 담고 있습니다. 메서드에 `...`를 사용하여 인자를 넘길 수 있습니다.
3. `table.pack()` 함수를 사용하여 인자를 넘길 수 있습니다. `table.pack()` 함수를 사용하여 인자를 배열로 변환한 후, 해당 배열을 메서드에 넘길 수 있습니다.
위의 예제에서 인자를 넘기는 방법을 수정한 코드는 다음과 같습니다.
#hostingforum.kr
lua
local obj = {}
function obj:method(a, b) end
local function call_method(obj, method_name, ...)
    local method = obj[method_name]
    if type(method) == "function" then
        return method(...) -- ...를 사용하여 인자를 넘길 수 있습니다.
    else
        print("Error: Method not found")
    end
end
call_method(obj, "method", 1, 2)
또는
#hostingforum.kr
lua
local obj = {}
function obj:method(a, b) end
local function call_method(obj, method_name, ...)
    local method = obj[method_name]
    if type(method) == "function" then
        return method(unpack(arg)) -- unpack(arg) 함수를 사용하여 인자를 넘길 수 있습니다.
    else
        print("Error: Method not found")
    end
end
call_method(obj, "method", 1, 2)
또는
#hostingforum.kr
lua
local obj = {}
function obj:method(a, b) end
local function call_method(obj, method_name, ...)
    local method = obj[method_name]
    if type(method) == "function" then
        local args = {...} -- ...를 사용하여 인자를 배열로 변환합니다.
        return method(unpack(args)) -- unpack(args) 함수를 사용하여 인자를 넘길 수 있습니다.
    else
        print("Error: Method not found")
    end
end
call_method(obj, "method", 1, 2)
2025-05-03 04:49