Возможно ли получить размер функции в байтах, чтобы увидеть, соответствует ли она другой функции, аналогичной оператору C++ sizeof, или оценить две функции каким-либо другим способом, чтобы убедиться, что они равны, не зная, что функция/s находятся? Пример:Lua - Можно ли проверить, соответствуют ли 2 функции?
local function equals(func1, func2)
-- check them and return true if equal
end
Если это невозможно, просто скажите, и это удовлетворит мой ответ! Спасибо!
EDIT: Тело одной функции - это то, что мне нужно проверить, чтобы убедиться, что это то же самое, что и тело другой функции. Ссылка в памяти будет отличаться, поэтому я не могу использовать «==», но ссылочное имя функции может быть другим.
Есть функция f (x) return x + 1 end' и 'function g (x) return x + 1 end' equal? –
Да, и это сработает. Ключевая ссылка f и g на самом деле не имеет значения. Я просто искал способ проверить, равно ли тело. – Mayron
Тогда это невозможно, если у вас нет источника. Функция может быть загружена из, например, байт-кода. –