Lua是一种轻量小巧得脚本语言,用标准C语言编写并以源代码形式开放,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活得扩展和定制功能。
Lua可以很方便的和其他程序进行集成。
Lua可以在几乎所有的操作系统和平台进行编译运行,可以很方便的更新代码
Lua是一种轻量小巧得脚本语言,用标准C语言编写并以源代码形式开放,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活得扩展和定制功能。
Lua可以很方便的和其他程序进行集成。
Lua可以在几乎所有的操作系统和平台进行编译运行,可以很方便的更新代码
哟哟
LUA 保留字 _NAME 下划线+大写字母
C语言中的print 控制台输出
单行注释 --
多行注释--[[ --]]
function f(...)
end
...表示可变参数
{。。。}表示数据
for 变量列表 in 迭代函数 状态变量 控制变量 do
end
tab1={} --空表
tab2={key1=100,key2="value2"} --初始化一个表;
print(tab1)
print(tab1.key)
print(tab1.["key"])
-- table.insert(v1,v2,v3) --中间参数不添加的情况,函数会自动的在末尾中加新的vlaue.
--因此这样写更好
tab1 = {1,3,5}
tab2 = {2,4,6}
local met1 = {
__add = function(tab_1,tab_2) --add关键字,参数1:tab1,参数2:tab2
for k,v in pairs(tab_2)do
table.insert(tab_1,v)
end
return tab_1
end
}
newtab1 = setmetatable(tab1,met1)
tab3 = tab1+tab2
for k,v in pairs(tab3) do
print(k,v)
end
--table 即可当数组(假设),也可当字典
tab1 = {key1= "key1",key2= "key2"}
print(tab1.key1) --输出 key1
tab2 = {key3 = 11}
print(tab2.key3) --输出 11
tab3 = {"123","234"}
print(tab3[2]) --输出 234
-----------------------------------------------
--table 新增item,有两种表示方法,但是table.num无法实现,table.string却可以
tab4 = {};
tab4.key1 = "1"
print(tab4["key1"],tab4.key1); --输出 1 1
tab4["key2"] = "2"
print(tab4["key2"],tab4.key2); --输出 2 2
tab4[3] = 3
print(tab4[3]) --tab4.3 不可用,报错
tab4["4"] = "4"
print(tab4["4"]) --tab4.4 不可用,报错
-----------------------------------------------
--table Lua中的table的Key值比较特别
--实例化table,不加key值时会按从1到∞自动添加
--增添item时,Key的值还可以是字符串
--结论:table看似可以当做数组来用,但更像是一个字典
tab5 = {"yi","er","san","si"}
for a,b in pairs(tab5) do
print(a,b)
end
输出:
1 yi
2 er
3 san
4 si
tab5[2] = nil
tab5.key = "key"
tab5[10] = "十"
for a,b in pairs(tab5) do
print(a,b)
end
输出:
1 yi
3 san
4 si
key key
10 十
标示符:
以字母或下划线开头
以下列出了 Lua 的保留关键字。保留关键字不能作为常量或变量或其他用户自定义标示符:
and | break | do | else |
elseif | end | false | for |
function | if | in | local |
nil | not | or | repeat |
return | then | true | until |
while |
一般约定,以下划线开头连接一串大写字母的名字(比如 _VERSION)被保留用于 Lua 内部全局变量。
require(模块名)
concat连接
insert插入
remove移除
ipairs(for k,v in ipairs(table) )
table.sprt();排序
print(table.(#table)
type
function getmax(tab)
local max=0;
for k,v in pairs(tab) do
if max<v then
max=v
1.尽可能别用_+大写字母来定义变量,可能保留字是这样的
要自己加.lua 后缀名,。。不然无法编译
--index
转义字符-----
\\ 表示 \
\' 表示 '
-- lua省略参
function test(...)
-- 可以获得省略参所构成的表arg,并且表的最后一个值存储了当前参数的个数
arg
-- 如果不想要参数的个数可以对
end
Lua
用于热更新
== ~=
&& and
or ||
面向对象编程:
继承: