lua学习贴
来源:互联网 发布:网络音箱哪个牌子好 编辑:程序博客网 时间:2024/05/01 13:36
注释:
--注释单行
--[[]] 注释多行
语句块: do end 类似于{}
数值运算: + - * / ^ ..可以连接两条语句
比较符号 < > <= >= == ~=
and 和 or的运算结果不是true和false,而是和它的两个操作数相关。
a and b:如果a为false,则返回a;否则返回b
a or b:如果 a 为true,则返回a;否则返回b
function() 也是一种类型, do return end
local 局部变量,不加就是全局变量。
数据类型: Number Nil Boolean String Table userdata、function、thread
变量类型: Nil 空值,所有没有使用过的变量,都是nil。nil既是值,又是类型。
Boolean 布尔值,只有两个有效值:true和false 在控制结构的条件中除了false和nil为假,其他值都为真
Number 数值,在Lua里,数值相当于C语言的double
String字符串,如果你愿意的话,字符串是可以包含"\0"字符的(这和C语言总是以"\0"结尾是不一样的)
Table 关系表类型,这个类型功能比较强大,请参考后面的内容。
Function 函数类型, 也就是说,所有的函数,它本身就是一个变量。
Userdata 嗯,这个类型专门用来和Lua的宿主打交道的。宿主通常是用C和C++来编写的,在这种情况下,Userdata可以是宿主的任意数据类型,常用的有Struct和指针。
Thread线程类型,在Lua中没有真正的线程。Lua中可以将一个函数分成几部份运行。如果感兴趣的话,可以去看看Lua的文档。
------------------------------------------------------------------------------------------------
Lua会自动在string和number之间自动进行类型转换,当一个字符串使用算术操作时,string会被转成数字
..在lua中是字符串连接符。
Table 类似于数组,比如T1 = {} -- 定义一个空表
T1[1]=10 -- 然后我们就可以象C语言一样来使用它了。
T1["John"]={Age=27, Gender="Male"}
T1.John={}
T1.John.Age=27
T1.John.Gender="Male"
或
T1.John{Age=27, Gender="Male"}
条件语句:
if conditions then
////
end
if conditions then
////
else
else
////
end
--后执行语句
while condition do
,,,,,,,,,
end
--先执行语句
repeat
,,,,,,,,,,,
until condition
--
for i=0,i<4;i=i+1 do
,,,,,,,,,,,
end
function Hello()
print("hello")
end
--有参数
function SetName(myString)
name=myString
end
--有有限个参数
function Info(name,age)
print("your name is ",name)
print("your age is ",age)
end
--有未知个参数
function HowMany(...)
if arg.n>0 then
for i=1,arg.n do
print(arg[i])
end
end
end
--可以先有几个参数,后面的随意
function HowMany(name,id,...)
end
function ReturnValue(value)
value*=2
return value
end
--返回多个值
function ReturnThree(i1,i2,i3)
return i1,i2,i3
end
--_G _G全局环境表(全局变量)
--assert 语句块
a="hello"
b="world"
assert()()
--dofile 打开并且执行一个lua块
dofile("json/addHero.lua")
--tonumber tostring
num="1234"
myNum=tonumber(num)
--string.len("1234")
myString="hEllo"
newString=string.sub(myString,1,3) --123
--格式化字符串
string.format()
--查找字符串 返回位置
string.find("my name is sy","sy") --12
--Array
myData={}
myData[0]="f"
myData[1]=11
--Hash table
myData["bar"]="bar"
--structure
for k,v in myData do
print(k.."="..v) --..是连接符
end
myPolygon = {
color=“blue”,
thickness=2,
npoints=4;
{x=0, y=0},
{x=-10, y=0},
{x=-5, y=4},
{x=0, y=4}
}
print(myPolygon[“color”])
print(myPolygon.color)
print(myPolygon[2].x) --输出内表的第二个
--注释单行
--[[]] 注释多行
语句块: do end 类似于{}
数值运算: + - * / ^ ..可以连接两条语句
比较符号 < > <= >= == ~=
and 和 or的运算结果不是true和false,而是和它的两个操作数相关。
a and b:如果a为false,则返回a;否则返回b
a or b:如果 a 为true,则返回a;否则返回b
function() 也是一种类型, do return end
local 局部变量,不加就是全局变量。
数据类型: Number Nil Boolean String Table userdata、function、thread
变量类型: Nil 空值,所有没有使用过的变量,都是nil。nil既是值,又是类型。
Boolean 布尔值,只有两个有效值:true和false 在控制结构的条件中除了false和nil为假,其他值都为真
Number 数值,在Lua里,数值相当于C语言的double
String字符串,如果你愿意的话,字符串是可以包含"\0"字符的(这和C语言总是以"\0"结尾是不一样的)
Table 关系表类型,这个类型功能比较强大,请参考后面的内容。
Function 函数类型, 也就是说,所有的函数,它本身就是一个变量。
Userdata 嗯,这个类型专门用来和Lua的宿主打交道的。宿主通常是用C和C++来编写的,在这种情况下,Userdata可以是宿主的任意数据类型,常用的有Struct和指针。
Thread线程类型,在Lua中没有真正的线程。Lua中可以将一个函数分成几部份运行。如果感兴趣的话,可以去看看Lua的文档。
------------------------------------------------------------------------------------------------
Lua会自动在string和number之间自动进行类型转换,当一个字符串使用算术操作时,string会被转成数字
..在lua中是字符串连接符。
Table 类似于数组,比如T1 = {} -- 定义一个空表
T1[1]=10 -- 然后我们就可以象C语言一样来使用它了。
T1["John"]={Age=27, Gender="Male"}
T1.John={}
T1.John.Age=27
T1.John.Gender="Male"
或
T1.John{Age=27, Gender="Male"}
条件语句:
if conditions then
////
end
if conditions then
////
else
else
////
end
--后执行语句
while condition do
,,,,,,,,,
end
--先执行语句
repeat
,,,,,,,,,,,
until condition
--
for i=0,i<4;i=i+1 do
,,,,,,,,,,,
end
function Hello()
print("hello")
end
--有参数
function SetName(myString)
name=myString
end
--有有限个参数
function Info(name,age)
print("your name is ",name)
print("your age is ",age)
end
--有未知个参数
function HowMany(...)
if arg.n>0 then
for i=1,arg.n do
print(arg[i])
end
end
end
--可以先有几个参数,后面的随意
function HowMany(name,id,...)
end
function ReturnValue(value)
value*=2
return value
end
--返回多个值
function ReturnThree(i1,i2,i3)
return i1,i2,i3
end
--_G _G全局环境表(全局变量)
--assert 语句块
a="hello"
b="world"
assert()()
--dofile 打开并且执行一个lua块
dofile("json/addHero.lua")
--tonumber tostring
num="1234"
myNum=tonumber(num)
--string.len("1234")
myString="hEllo"
newString=string.sub(myString,1,3) --123
--格式化字符串
string.format()
--查找字符串 返回位置
string.find("my name is sy","sy") --12
--Array
myData={}
myData[0]="f"
myData[1]=11
--Hash table
myData["bar"]="bar"
--structure
for k,v in myData do
print(k.."="..v) --..是连接符
end
myPolygon = {
color=“blue”,
thickness=2,
npoints=4;
{x=0, y=0},
{x=-10, y=0},
{x=-5, y=4},
{x=0, y=4}
}
print(myPolygon[“color”])
print(myPolygon.color)
print(myPolygon[2].x) --输出内表的第二个
0 0
- lua学习贴
- LUA学习
- Lua学习
- lua学习
- lua学习
- LUA学习
- Lua学习
- lua学习
- lua学习
- lua学习
- lua学习
- 学习Lua
- Lua学习
- lua学习
- lua学习
- lua 学习
- Lua 学习
- lua学习
- MFC打印
- 【详解】Python脚本planM记录
- C#实现高精度定时器
- MFC映射
- AT89命名规则
- lua学习贴
- 正则表达式
- IOS NSLocking协议,NSLock,NSConditionLock,NSRecursiveLock,NSCondition
- 嵌入式audio基础(三)总线
- Linux内核中监听网线是否插入是否工作函数
- PHP 教程
- 培训机构毕业的程序员被歧视的背后逻辑
- zabbix报PHP gettext extension missing
- VBA传参之想哭的心