Sono interessato ad acquisire qualsiasi formato di ritorno di una funzione. Per esempioLua - Come posso ottenere un ritorno?
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
Sto costruendo un profiler che sovrascriverà funzioni con le funzioni di proxy, ma ho bisogno di sapere i dati restituiti, quindi controllare type()
di esso e l'accesso accordingly` ma dal codice si può vedere che io sono impossibile accedere a tutte e 3 le situazioni con un solo metodo. C'è qualche ?
@NicolBolas come io ho dato tre esempi di 'foo()' funzione dovrebbe essere chiaro che voglio prendere tutti e tre i casi di 'foo'. Per favore non sono necessarie tangenti qui. –
@NicolBolas grazie per l'aiuto :) Ho aggiornato la mia domanda, spero sia più chiara ora –
Quindi sei il vero chiamante della funzione. Hai intenzione di ispezionare quei risultati, quindi restituirli come se fossi "pippo"? –