E 'possibile ottenere la dimensione di una funzione in byte per vedere se corrisponde ad un'altra funzione simile all'operatore sizeof C++, o valutare due funzioni in un altro modo per vedere se sono entrambe uguali senza sapere realmente quale funzione/s siamo? Esempio:Lua - È possibile verificare se 2 funzioni sono uguali?
local function equals(func1, func2)
-- check them and return true if equal
end
Se ciò non è possibile, basta dire e soddisferà la mia risposta! Grazie!
MODIFICA: Il corpo di una funzione è quello che devo verificare per vedere se è uguale al corpo di un'altra funzione. Il riferimento in memoria sarà diverso, quindi non posso usare "==" ma il nome di riferimento della funzione può essere diverso.
Le funzioni 'f (x) restituiscono x + 1 end' e' function g (x) restituiscono x + 1 end' uguale? –
Sì e questo funzionerebbe. Il riferimento chiave f e g in realtà non importa. Stavo solo cercando un modo per verificare se il corpo è uguale. – Mayron
Quindi è impossibile a meno che tu non abbia la fonte. Una funzione potrebbe essere caricata dal codice by.e. –