Tôi mới dùng Lua và muốn in nội dung của một bảng cho mục đích gỡ lỗi. Tôi có thể làm điều đó bằng cách tự mình lặp lại bảng. Tuy nhiên, kể từ khi điều này tấn công tôi như là một vấn đề rất phổ biến, tôi hy vọng có phải là một trong những cách hộp làm điều đó hoặc ai đó phải đã viết một thư viện tốt đẹp mà làm điều đó. Cách tiêu chuẩn để làm điều này ở Lua là gì?Biểu diễn chuỗi có thể đọc được của con người của bảng trong Lua
Trả lời
Dù tốt hay xấu, không có tiêu chuẩn. Lua được biết đến với những gì nó loại trừ nhiều như những gì nó bao gồm. Nó không đưa ra giả định về các biểu diễn chuỗi thích hợp bởi vì không có cách nào đúng để xử lý những thứ như định dạng, bảng lồng nhau, biểu diễn hàm hoặc chu kỳ bảng. Điều đó đang được nói, nó không làm tổn thương để bắt đầu với một "bao gồm pin" Lua thư viện. Có thể xem xét Penlight. pl.pretty.write của nó thực hiện thủ thuật.
Đây là ví dụ về vấn đề chung về tuần tự hóa bảng.
Hãy xem at the Table Serialization page at lua-users để thực hiện một số nghiêm túc.
ném tôi vào nó thường được nhanh chóng xác định một chức năng như
function lt(t) for k,v in pairs(t) do print(k,v) end end
Xem table.print trong https://github.com/rimar/lua-reactor-light/blob/master/util.lua nó có lẽ mượn từ thư viện lualogging
- 1. Cron đến chuỗi có thể đọc được của con người
- 2. GUID có thể đọc được của con người
- 3. type_info.name có thể đọc được của con người()
- 4. Biểu diễn chuỗi của time_t?
- 5. Nhận trả lại 'loại' làm chuỗi có thể đọc được của con người
- 6. Chuyển đổi chuỗi octet snmp thành định dạng ngày có thể đọc được của con người
- 7. Chuyển đổi đối tượng lớp thành chuỗi có thể đọc được của con người
- 8. C# Biểu diễn chuỗi của phương thức
- 9. dấu thời gian có thể đọc được của con người trong hạt nhân Linux
- 10. Tăng thời gian ngày có thể đọc được của con người bây giờ
- 11. Khoảng thời gian có thể đọc được tự động của con người
- 12. đầu ra htop vào tệp có thể đọc được của con người
- 13. URL có thể đọc được của con người: tốt nhất là phân cấp?
- 14. Định dạng ngày có thể đọc được bằng con người
- 15. Biểu diễn nội bộ của chuỗi trong Python 3.x
- 16. chuyển đổi micro giây thành thời gian có thể đọc được của con người
- 17. lấy AST của con người có thể đọc được từ mã C++
- 18. Sắp xếp theo định dạng văn bản có thể đọc được của con người
- 19. Làm thế nào để có được biểu diễn chuỗi của một biến trong python?
- 20. Danh sách các id tin nhắn có thể đọc được của con người?
- 21. Chuyển tập tin llvm .bc thành tập tin .ll có thể đọc được của con người
- 22. Sử dụng Html.LabelFor để hiển thị nhãn có thể đọc được của con người?
- 23. Tài liệu có thể đọc được của con người có thể thực hiện được với Spock không?
- 24. Định dạng ngày có thể đọc và phân tích cú pháp của con người trong Java
- 25. Làm thế nào để có được tên lớp có thể đọc được của con người trong Ruby on Rails?
- 26. Java chuyển đổi dòng nhân vật thành con người "có thể đọc được" Chuỗi
- 27. Biểu diễn chuỗi Python của dữ liệu nhị phân
- 28. Làm cách nào để đếm tất cả các tệp có thể đọc được của con người trong Bash?
- 29. biểu diễn chuỗi của llvm :: Cấu trúc loại
- 30. Tôi có thể buộc lập chỉ mục bảng của Lua từ số không?
tôi thấy trang đó, nhưng thấy nó khó tin, rằng đó là một vấn đề get chung của giải quyết hơn và hơn nữa và trong một thời trang tiết như vậy. – ajmurmann
đó là lý do tại sao một cài đặt Lua đầy đủ là khoảng 1Mb (trái ngược với python ở 43,3 MB). Bạn có một điểm, nhưng sau đó một lần nữa, trong khi bạn có thể cần các chức năng rất nhiều người khác có thể không (nghĩ nhúng Lua). Bạn không cần phải thực hiện nó hơn và hơn nữa, chỉ cần thả nó vào một tập tin, và 'require' nó khi cần thiết, hoặc đặt nó trong biến môi trường' LUA_INIT', nó sẽ tự động tải nó (xem [* độc lập * section] (http://www.lua.org/manual/5.2/manual.html#7) của hướng dẫn Lua). – jpjacobs
@ajmurmann - Thật khó tin, đúng. Nhưng Lua được biết đến với những gì nó loại trừ nhiều như những gì nó bao gồm. Nó không đưa ra các giả định về biểu diễn chuỗi thích hợp bởi vì không có cách nào để xử lý những thứ như định dạng, bảng lồng nhau, biểu diễn hàm hoặc chu kỳ bảng. Điều đó đang được nói, nó không làm tổn thương để bắt đầu với một "bao gồm pin" Lua thư viện. Có thể xem xét [Penlight] (http://stevedonovan.github.com/Penlight/). [pl.pretty.write] (http://stevedonovan.github.com/Penlight/api/modules/pl.pretty.html#write) thực hiện thủ thuật. –