Lua脚本程序设计 总览
2014-01-13 21:40
357 查看
在lua语言中,除了关键字,其他的都是变量
1、注释:
单行注释:使用连续两个减号“--”表示注释的开始,一直到行尾
多行注释:使用“--[[”开始,直到“]]”,而且“[[”和“]]”是可以嵌套的
2、Lua语句
在lua中,语句之间可以用分号“;”隔开,也可以用空格隔开
3、Lua的控制语句
条件控制:
if 条件 then … else if 条件 then … else …end
While循环:
while 条件 do …end
Repeat循环:
repeat …until 条件
For循环:
for 变量 = 初值, 终值, 步进 do … end
For循环:
for 变量1, 变量2, …, 变量N in 表或枚举函数 do …end
注意:for循环变量总是只作用于for的局部变量,也可以省略步进值,for循环会使用1作为步进值
终止循环:
使用break终止循环
4、Lua 语句块
语句块在C++中是以“{”和“}”括起来的,但是在lua 中, 它是由do和end括起来的,如:
do print (“Hello World”) end
5、Lua赋值语句
在Lua中,赋值语句与C++有明显的区别,lua的赋值语句可以同时给多个变量赋值,如:
a, b, c, d = 1, 2, 3,4
甚至是:
a, b = b, a --交换变量的值
6、Lua 变量
在默认情况下,变量总是认为是全局的,若要定义局部变量,可以使用local关键字
7、运算
数值运算:和C++一样,支持+,-, *, /,但是lua还支持幂运算”^“,如2^3
字符串连接:使用”..”运算符,如”This is a “ .. “string.” 等价于 “This is a string.”
比较运算:> ,<, >= ,<=, ==, ~=,分别为大于,小于,大小于,不大于,相等,不相等;这些操作符总是返回true或false;但是,对于Table,function和userdata类型的数据,只有 == 和 ~= 可以用,而且相等表示两个变量引用的是同一个变量;如:
a = {1, 2}; b = a;
print(a == b, a ~= b); -- true, false
a = {1, 2}; b = {1, 2};
print(a == b, a ~= b) -- false, true
逻辑运算:and, or, not
其中,and与or与C++中的区别特别大,and与or的运算结果不是true或false,而是和它的连个操作数相关,
a and b:如果a为false,则返回a;否则返回b
b or b:如果a为true,则返回a;否则返回b
C++ 中 x = a ? b : c 在lua中的表示:x = a and b or c
最有用的语句:a = a or x,相当于if not a then a = x end
8、运算符的优先级
从高到低:(^) (not) (* /) (+ -) (..) (比较) (and) (or)
9、lua的关键字
and break do else elseif and true false for function if in local nil not or repeat return then until while
10、Lua的变量类型
可以使用type()函数来检查变量的类型,Lua支持的类型有:
nil
boolean
number
string
table
function
userdata
1、注释:
单行注释:使用连续两个减号“--”表示注释的开始,一直到行尾
多行注释:使用“--[[”开始,直到“]]”,而且“[[”和“]]”是可以嵌套的
2、Lua语句
在lua中,语句之间可以用分号“;”隔开,也可以用空格隔开
3、Lua的控制语句
条件控制:
if 条件 then … else if 条件 then … else …end
While循环:
while 条件 do …end
Repeat循环:
repeat …until 条件
For循环:
for 变量 = 初值, 终值, 步进 do … end
For循环:
for 变量1, 变量2, …, 变量N in 表或枚举函数 do …end
注意:for循环变量总是只作用于for的局部变量,也可以省略步进值,for循环会使用1作为步进值
终止循环:
使用break终止循环
4、Lua 语句块
语句块在C++中是以“{”和“}”括起来的,但是在lua 中, 它是由do和end括起来的,如:
do print (“Hello World”) end
5、Lua赋值语句
在Lua中,赋值语句与C++有明显的区别,lua的赋值语句可以同时给多个变量赋值,如:
a, b, c, d = 1, 2, 3,4
甚至是:
a, b = b, a --交换变量的值
6、Lua 变量
在默认情况下,变量总是认为是全局的,若要定义局部变量,可以使用local关键字
7、运算
数值运算:和C++一样,支持+,-, *, /,但是lua还支持幂运算”^“,如2^3
字符串连接:使用”..”运算符,如”This is a “ .. “string.” 等价于 “This is a string.”
比较运算:> ,<, >= ,<=, ==, ~=,分别为大于,小于,大小于,不大于,相等,不相等;这些操作符总是返回true或false;但是,对于Table,function和userdata类型的数据,只有 == 和 ~= 可以用,而且相等表示两个变量引用的是同一个变量;如:
a = {1, 2}; b = a;
print(a == b, a ~= b); -- true, false
a = {1, 2}; b = {1, 2};
print(a == b, a ~= b) -- false, true
逻辑运算:and, or, not
其中,and与or与C++中的区别特别大,and与or的运算结果不是true或false,而是和它的连个操作数相关,
a and b:如果a为false,则返回a;否则返回b
b or b:如果a为true,则返回a;否则返回b
C++ 中 x = a ? b : c 在lua中的表示:x = a and b or c
最有用的语句:a = a or x,相当于if not a then a = x end
8、运算符的优先级
从高到低:(^) (not) (* /) (+ -) (..) (比较) (and) (or)
9、lua的关键字
and break do else elseif and true false for function if in local nil not or repeat return then until while
10、Lua的变量类型
可以使用type()函数来检查变量的类型,Lua支持的类型有:
nil
boolean
number
string
table
function
userdata
相关文章推荐
- 转载和积累系列 - Lua IO库
- Metatable In Lua 浅尝辄止
- lua与C/C++的交互
- 在Lua脚本中使用OpenGL函数
- 转载和积累系列 - Lua 字符串库
- 在Android中使用Lua脚本 —— Programing Lua on Android
- leetcode_Evaluate Reverse Polish Notation
- lua字符串对齐函数
- ngx_lua 一些性能分析方法
- lua 编译成动态库(.so)
- lua实现继承
- lua 5.2 GC 源码分析 一
- lua中文教程【高级知识】
- c/c++ 调用lua
- [leetcode]Evaluate Reverse Polish Notation
- 读lua程序设计之函数
- 使用Lua脚本语言开发出高扩展性的系统,AgileEAS.NET SOA中间件Lua脚本引擎介绍 推荐
- lua排序table的闭包函数使用
- 【LeetCode OJ】Evaluate Reverse Polish Notation
- lua基本语法