函数
f1 =function(a,b)
print(a,b)
end
function f2(a,b)
print(a,b)
end
function f3(a,b,c)
print(a,b,c)
end
function f4(a,b)
return a
end
function f5(a,b)
return a,b
end
f1(1,2)
f2(3,4)
f3(5,6)
print(f4(7,8))
print(f5(7,8))
local i,j = f5(8,9)
print(i)
print(j)
table(表)
table 的创建是通过"构造表达式"来完成,最简单构造表达式是{},用来创建一个空表。也可以在表里添加一些数据,直接初始化表。
table类似与其他语言的数组,不同的是table可以存数字、存字符串、存其他的table、或者是function等。这个里面什么都可以存,使用逗号分隔。
table的开始值是1,第一个元素的下标是1,第二个元素下标是2
数字下标
a = {1,"dw",{},function() end}
print(a[1])
print(a[5])
a[5] = 098
print(a[5])
-- 获取table的长度
print(#a)
-- 往table中插入元素
table.insert(a,"d")
print(#a)
-- 往指定位置插入元素
table.insert(a,1,"d")
print(a[1])
print(a[2])
-- 移除某个元素
a1 = table.remove(a,2)
print(a[2])
print(a1)
字符串下标
a = {
a = "ss",
b = 123,
c = function()
end,
d = 234
}
-- 字符串下标需要双引号将下标括起来
print(a["a"])
print(a.a)
print(a.b)
-- 赋值
a["d"] = 21314
print(a.d)
-- 没有声明过的下标就是nil
print(a.def)
全局表 _G
-- 一个特殊的table _G
print(_G)
a = 66
-- 所有的全局变量都在 _G 里面
print(_G["a"])
-- table也是一个全局变量,所以其也在 _G 里面
print(_G["table"])
-- table有一个下标,其下标是insert
print(_G["table"]["insert"])