Меня интересует захват любого формата возврата функции. НапримерLua - Как я могу получить возврат?
function foo()
return 1
end
local result = foo() -- foo is numeric 1
function foo()
return {1,2,3}
end
local result1, result2, result3 = foo()
local result = foo() -- this is bad as result is `1` but `2` and `3` are lost
function foo()
return 1, 2, 3
end
local result = foo() -- foo is a table with all the numbers, that's ok
Я строю профайлер, который перепишет функции с прокси-функциями, но мне нужно знать, что данные возвращаемые, а затем проверить type()
его и accordingly` доступа, но из кода можно видеть, что я не удалось получить доступ ко всем 3 ситуациям одним способом. Есть ли ?
@NicolBolas, как я дал три примера 'Foo()' функции должно быть ясно, что я хочу, чтобы захватить все три случая 'Foo'. Пожалуйста, никаких тангенсов здесь не требуется. –
@NicolBolas спасибо за помощь :) Я обновил свой вопрос, надеюсь, теперь его станет более ясно –
Итак, вы являетесь фактическим абонентом функции. Вы собираетесь проверить эти результаты, а затем вернуть их, как если бы вы были «foo»? –