Lua 数据格式 |
|
不同的语言被设计用于文本格式的不同类型的数据表示 [1]
尽管标记语言已在 Lua 中实现 [6],但 Lua 语法本身并不适合用作标记语言。但是,它在数据序列化和交换方面具有一些不错的功能。
Lua 中可以使用多种不同的数据表示样式
-- JSON style library = { books = { {name="PiL", author="roberto"}, {name="BLP", author="kurt,aaron"} } } -- Lisp/s-expression style return {'library', {'book', name="PiL", author="roberto"}, {'book', name="BLP", author="kurt,aaron"} } -- Java property page / INI / Unix config style library.books[1].name = 'PiL' library.books[1].author = 'roberto' library.books[2].name = 'BLP' library.books[2].author = 'kurt,aaron' -- XML / object constructor style library { book {name="PiL", author="roberto"}, book {name="BLP", author="kurt,aaron"} } -- XML with namespaces style local LIB = require "library" LIB.library { LIB.book {name="PiL", author="roberto"}, LIB.book {name="BLP", author="kurt,aaron"} }
Lua 的特点
Editor.com(Lua 工作坊 2011 演讲) - 讨论了在 Lua 中实现声明式 DSL 的良好策略([摘要])。