Tôi muốn tải lại tập lệnh lua tại thời gian chạy. Cách để làm điều này là gì? Bạn chỉ cần khởi động lại hệ thống lua và sau đó đọc lại tất cả các file lua?Cách tải lại tập lệnh lua trong thời gian chạy là gì?
5
A
Trả lời
13
Nếu (a) các kịch bản Lua đang modules, và (b) các module không ảnh hưởng đến globals hoặc bảng ngoài phạm vi của các module, bạn có thể sử dụng package.loaded.????? = nil
gây require
để tải lại các module:
> require "lsqlite3"
> =sqlite3.version
function: 0x10010df50
> sqlite3.version = "33"
> return sqlite3.version
33
> require "lsqlite3"
> return sqlite3.version
33
> package.loaded.lsqlite3 = nil
> return sqlite3.version
33
> require "lsqlite3"
> return sqlite3.version
function: 0x10010c2a0
>
Tương tự, nếu các tập lệnh non-module hoạt động tốt ở chỗ chúng (a) chỉ xác định một bảng duy nhất và (b) không ảnh hưởng đến hình cầu hoặc các bảng khác, thì việc tải lại tập lệnh cũng sẽ hoạt động.
0
Chỉ cần sử dụng riêng include(filename)
chức năng của bạn:
function evalfile(filename, env)
local f = assert(loadfile(filename))
return f()
end
function eval(text)
local f = assert(load(text))
return f()
end
function errorhandler(err)
return debug.traceback(err)
end
function include(filename)
local success, result = xpcall(evalfile, errorhandler, filename)
--print(string.format("success=%s filename=%s\n", success, filename))
if not success then
print("[ERROR]\n",result,"[/ERROR]\n")
end
end
function include_noerror(filename)
local success, result = xpcall(evalfile, errorhandler, filename)
--print(string.format("success=%s filename=%s\n", success, filename))
end
Các vấn đề liên quan
- 1. Thời gian tải tập lệnh JQuery
- 2. Thời gian chạy hiện đại là gì?
- 3. Cách chạy ma thuật IPython từ tập lệnh (hoặc định thời gian tập lệnh Python)
- 4. Tập lệnh SQL mất nhiều thời gian để chạy
- 5. Cách tải lại dữ liệu trong Dòng thời gian Simile
- 6. Tập lệnh Greasemonkey chỉ chạy khi trang được tải lại
- 7. Thời gian chạy bằng bằng() trong java.util.Arrays là gì?
- 8. Lua, Lua là gì?
- 9. Tập lệnh PHP ... quay ngược thời gian?
- 10. Chạy các tập lệnh PHP đồng thời
- 11. Thời gian ngừng hoạt động khi tải lại daemon mod_wsgi?
- 12. tải lại thời gian ELF di dời
- 13. Thời gian tải lại chậm hơn .vimrc
- 14. Cách ít nhất là xấu để tạo các lớp Python trong thời gian chạy là gì?
- 15. Tải XAML XML qua thời gian chạy?
- 16. Độ phức tạp thời gian chạy của câu lệnh switch là gì?
- 17. Làm cách nào để chạy tập lệnh Lua trên Android trong ứng dụng Java?
- 18. Nhận thời gian sử dụng trong tập lệnh PBS
- 19. Sự khác nhau giữa "thời gian biên dịch" và "thời gian chạy" là gì?
- 20. Làm cách nào để xác định từ tập lệnh PowerShell trong thời gian chạy máy chủ đang chạy?
- 21. Lấy các tập hợp thời gian chạy trong Silverlight 3
- 22. Tải lại mô hình Ember trong khoảng thời gian
- 23. Trả lại bài tập là gì?
- 24. Chạy Lua dưới nginx (viết một trang web với Lua)
- 25. Làm cách nào để tải và thực thi tệp lua từ một tệp lua khác
- 26. Sự khác biệt giữa thời gian sửa đổi tập tin và thời gian thay đổi tập tin là gì?
- 27. Tạo một lớp trong thời gian chạy
- 28. cách chạy tập lệnh php trong eclipse
- 29. Chạy một hàm trong khoảng thời gian trong jQuery
- 30. Tôi làm cách nào để tải lại tập lệnh trong IRB?