一、table
table是 Lua的一种数据结构用来帮助我们创建不同的数据类型,如:数字、字典等。
Lua table使用关联型数组,你可以用任意类型的值来作数组的索引,但这个值不能是 nil。
Lua table是不固定大小的,你可以根据自己需要进行扩容。
Lua也是通过 table来解决模块(module)、包(package)和对象(Object)的。例如 string.format
表示使用"format"来索引 table string。
-- table mytable={} mytable.first="tom" mytable.second="james" print(mytable[1]) print(mytable.first) print(mytable["second"])
二、lua模块与包
模块类似于一个封装库,从 Lua 5.1开始,Lua加入了标准的模块管理机制,可以把一些公
用的代码放在一个文件里,以 API接口的形式在其他地方调用,有利于代码的重用和降低
代码耦合度。
Lua的模块是由变量、函数等已知元素组成的 table,因此创建一个模块很简单,就是创建
一个 table,然后把需要导出的常量、函数放入其中,最后返回这个 table就行module.lua文件
module={} module.index=1 function module.sum(a,b) return a+b end
test12.lua
require "module" print(module.index) print(module.sum(10,20))