Lua学习笔记2--变量域和流程控制
2016-01-28 22:18
597 查看
为了方便学习,我会将lua的变量域和流程控制与C语言进行一个对比,仅仅列出差异比较大的地方
变量隐藏:当出现全局变量和局部变量重名时,全局变量会被隐藏!在程序设计中,应该缩短变量的生存期,提高代码的可读性。
local a=1
for a=100,120,3 do --var=exp1,exp2,exp3 var从exp1增长到exp2,exp3为步长
print(a)
end
end
local a={1,2,3,4;member="qiqi",leader="zhuzhu"}
--泛型迭代可以迭代table类型
for key,value in pairs(a) do
print("key:"..key..";value:"..value)
end
end
1.lua运算符
取模运算符(%)
一般来说,5%2=1,但是在lua中,有其他用途。先看看这个例子:-- lua运算符 local x=311.148 print(x-x%1) --取整数,x%1返回x的小数部分 print(x-x%0.01) --进行小数截取,x%0.01返回小数点后第3位的部分
关系运算服(~=)
在C语言中,不等于,使用的是!=,关系运算符的运算结果都是true或者是falsea=10 b="10" if a~=b then print("a~=b!") end结果输出a~=b!
逻辑操作服(and、or、not)
lua的and、or逻辑操作服,相比起C语言的区别还是比较大的,在C语言中,and(&&)返回的结果是1或者0,我们来看看lua的结果print(1 and 2) --返回2 print(false and 2) --返回false print(1 and false) --返回1对于and来说,如果第一个操作为假,就返回第一个,否则则返回第二个,对于or来说,如果第一个操作为真,就返回第一个操作数,否则返回第二个数。
print(1 or 2) --返回1 print(false or 2) --返回2 print(1 or false) --返回1
2.lua变量域
lua有全局变量和局部变量之分,局部变量前使用local进行声明,声明后只在当前程序块中起作用。变量隐藏:当出现全局变量和局部变量重名时,全局变量会被隐藏!在程序设计中,应该缩短变量的生存期,提高代码的可读性。
--变量的范围 var="global_var!" --全局变量 do --do-end程序块 local var="local_var!" print(var) --输出local_var! end print(var) --输出global_var!
3.lua控制结构
条件判断
do <span style="white-space:pre"> </span>local a=20 if a==10 then print(10) elseif a==20 then print(20) end end
while循环
do local a=10 while a<12 do print(a) a=a+1 end end
repeat循环
do local a=1 repeat a=a-1 until a<0 print(a) end
数字型for
dolocal a=1
for a=100,120,3 do --var=exp1,exp2,exp3 var从exp1增长到exp2,exp3为步长
print(a)
end
end
泛型for
dolocal a={1,2,3,4;member="qiqi",leader="zhuzhu"}
--泛型迭代可以迭代table类型
for key,value in pairs(a) do
print("key:"..key..";value:"..value)
end
end
相关文章推荐
- R语言 非标准化求值(Non-standard evaluation, NSE)
- Lua单例(lua学习二)
- Lua类继承(二)
- Lua继承(Lua学习一)
- 快速掌握Lua 5.3 —— "metatables" and "metamethods" (1)
- 三、Lua中require,dofile,loadfile,dostring,loadstring,loadlib,load之间的区别
- Study Notes: Lua language for Torch
- Study Notes: Lua language for Torch
- Study Notes: Lua language for Torch
- Study Notes: Lua language for Torch
- Study Notes: Lua language for Torch
- Study Notes: Lua language for Torch
- Lua中实现类的原理
- Lua 在Lua中调用C函数
- Lua 在C程序中调用Lua函数
- Lua math
- Lua 在C程序中进行Lua表操作
- 二、Lua迭代器与泛型for
- 一、Lua函数详解
- Lua 配置文件示例