Tôi đã chơi đùa với Neko Modules, nhưng tôi nghĩ rằng tôi nhận được một số hành vi không nhất quán.Điều gì có nghĩa là bằng cách "bằng thể chất" trong Haxe?
var funcs = 0;
var objs = 0;
for (i in 0...m.globalsCount())
{
var obj:Dynamic = m.getGlobal(i);
if (Reflect.compareMethods(obj, init))
trace("matched");
if (Reflect.isFunction(obj))
funcs++;
else if (Reflect.isObject(obj))
objs++;
}
trace('Functions: $funcs');
trace('Objects: $objs');
Trong mã trên, lần đầu tiên, tôi nhận được tổng cộng 4487 chức năng. Nếu tôi xóa một chức năng, xây dựng lại và chạy, tôi nhận được dự kiến 4486.
tôi thêm sự so sánh compareMethods
để so sánh obj
với init
, nơi init
là một chức năng tôi khai báo trong tập tin chính, nhưng các dấu vết là không bao giờ đầu ra .
Tôi liếc qua mã gợi ý cho hàm compareMethods
và tôi tình cờ gặp thuật ngữ sau: if 'f1' and the 'f2' are **physically** equal
.
Bây giờ, chúng là cả hai chức năng và không có nơi nào trong sách hướng dẫn Haxe đề cập đến bất kỳ điều gì về chức năng vật lý. Vì vậy, tôi có một câu hỏi hai phần, thực sự.
Chức năng vật lý là gì và làm cách nào để đạt được kết quả theo dõi như bạn mong đợi ở trên? Cảm ơn bạn, trước.
dunno câu trả lời cho điều này, nhưng tôi làm muốn biết những gì mục tiêu của bạn là trong đoạn mã của bạn được đăng trên. Quan tâm chia sẻ? – bguiz
Tôi đã hy vọng sử dụng phương thức gọi hàm từ mô-đun Neko bên ngoài để cho phép sửa đổi các ứng dụng hiện có mà không biên dịch lại, vô hiệu hóa hiệu quả nhu cầu các tệp tin ndll/dll mà tôi tin là đúng đối với mục tiêu gốc. – tienery