Đây là câu hỏi thường xuyên trong danh sách Lua, tôi đoán vì sự giống nhau bề ngoài của hai ngôn ngữ.
Thật không may, có nhiều điểm khác biệt quan trọng không rõ ràng. Làm cho nó hoạt động cần một trình biên dịch toàn diện hướng JS thay vì bytecode của Lua, hoặc viết lại Lua VM trong JavaScript.
Tôi không biết mục tiêu ban đầu của Lua2js; nhưng nếu nó chỉ đơn giản là một 'dịch giả' có giới hạn, thì việc viết mã Lua nhằm mục đích dịch sẽ từ chối hầu hết (tất cả?) về những điều tốt đẹp về Lua. Ví dụ, tôi không nghĩ rằng bạn có thể sử dụng một chức năng như một bàn phím, vì trong JavaScript các phím chỉ là chuỗi (và số? Tôi không chắc chắn).
Lựa chọn .NET hợp lý hơn, nó có thể được thực hiện thay đổi trình biên dịch hiện có để phát ra bytecode CLR thay vì mã byte Lua tiêu chuẩn. Ngay cả khi CLR được thiết kế và tối ưu hóa cho các loại ngôn ngữ khác, nó chắc chắn là đủ chung để chạy rất tốt. Rào cản chính là sự sẵn có của các thư viện.
Một tùy chọn khác mà tôi vừa tìm thấy là this paper của Roberto Ierusalmschy và Fabio Mascarenhas, tại đây họ tìm cách dịch mã byte LuaVM sang mã bytecode CLR.
Như thường lệ trên các tài liệu học thuật, không có dấu hiệu nào về ngày viết, vì vậy tôi không biết nó có mới hay cách mạng hay cũ và lãng quên.
Tôi tự hỏi mục tiêu thực sự của mọi người là gì? Họ biết Lúa, và muốn viết JavaScript mà không cần phải học JavaScript? Họ có một ứng dụng lớn được viết bằng Lua và muốn chuyển nó thành webapp với công việc tối thiểu? Không ai trong số này dường như rất có khả năng với tôi – davr
Cuộc phỏng vấn tại http://www.computerworld.com.au/index.php/id;1028768484 khiến cho âm thanh như Lua.NET là một dự án gần đây và đang diễn ra. –
Lời chào, người ta có thể sử dụng một chức năng như một khóa bàn trong javascript. Ý kiến của bạn dường như không được thông báo. – tomdemuyt