标准库 |
|
这是一个项目,旨在创建一个标准的 Lua 库集,这些库未包含在核心发行版中,但广泛使用。
https://github.com/rrthomas/lua-stdlib
快照以 zip 文件的形式提供(这些快照经过精心安排,以包含稳定的代码)。
当 Lua 代码如此容易编写时,为什么要费心拥有标准的 Lua 库?而且,Lua 不主要用于脚本化 C 和 C++ 程序吗?答案很简单,就像任何语言一样(尤其是在像 Lua 这样小而灵活的语言中),有很多有用的轮子,没有必要重新发明。无论是对函数式编程的支持(map
、curry
)、字符串操作(split
、join
)还是面向对象(构造函数和继承),高质量且有良好文档的代码都需要时间编写,并且很容易出错。通过将这类内容放入库中,可以简化许多编程任务。
此外,Lua 不仅用于脚本编写。有些人用它来编写命令行实用程序(嗯,想要一个 getopt 实现吗?)。而且,“脚本编写”并不仅仅意味着几行代码。许多脚本化应用程序将包含数千行 Lua 代码。在这里,不仅库本身,而且它们的结构可以帮助指导大型项目的开发。
这个想法是将我们每个人拥有的零散的个人实用程序集合在一起,并将它们组合成一个连贯的标准库。
以下是库应具有的某些属性
require("std")
)。
可以一次加载所有库(require "std"
),也可以一次加载一个模块,例如 require "std.object"
。它们具有分层结构,分为 code
、data
和 text
等区域。 ReubenThomas 目前正在将它们构建成类似于标准库的命名空间。将来,它可能会根据 LTN 7 [1] 正式化。