Я пытаюсь отличить анонимные функции, такие как:
function() { trace("WOO"); }
от других (именованных?), Например
var _FUNC:Dynamic = function() { trace("WOO"); }
Причина, по которой я хочу это сделать, заключается в том,потому что я не могу сравнить две анонимные функции, потому что они две разные.
Чтобы помочь мне прояснить ситуацию, рассмотрим следующий быстрый пример.
var _TEST:Dynamic = function(a:Dynamic):String {
var _TESTA:Dynamic = function() { trace("WOO"); };
var _TESTB:Dynamic = _FUNC;
return (a == _TESTA) + ", " + (a == _TESTB);
}
Если я запускаю _TEST(_FUNC);
, я вернусь "false, true"
.Даже если они представляют собой одну и ту же функцию, они НЕ являются одним и тем же объектом.
Есть ли способ сравнить те функции, которые одинаковы, если они выполняют одну и ту же задачу?
Есть ли способ сериализации функций?Так что, возможно, я смогу сравнить сериализованные представления и посмотреть, имеют ли они одинаковый «код».