Lua简明快速入门
- Lua简明快速入门
- 运行
- 打印信息Hello Lua
- 注释
- 变量
- 数字
- 字符串
- nil
- 全局变量和局部变量
- 控制语句
- if-else分支
- for循环
- while循环
- until循环
Lua脚本是一个很轻量级的脚本,也是号称性能最高的脚本,源码编译后,解释器居然不到200k。
lua中文手册
运行
在命令行上运行lua命令后进入lua的shell中执行语句
也可以把脚本存成一个文件
>lua file.lua
打印信息Hello, Lua
> print("Hello, Lua")
Hello, Lua
注释
-- 两个减号是行注释
--[[
这是块注释
这是块注释
--]]
变量
数字
Lua的数字都是double型,64bits
字符串
字符串可以用单引号,也可以用双引号
s = 'walternate' -- 像Python那样的不可变的字符串。
t = "双引号也可以"
u = [[ 两个方括号
用于
多行的字符串。]]
t = nil -- 未定义的t; Lua 支持垃圾收集。
eg:
> str=[[123test
>> row2
>>
>> ]]
> print(str)
123test
row2
>
支持C类型的转义:
‘\n' (换行), ‘\r' (回车), ‘\t' (横向制表), ‘\v' (纵向制表), ‘\\' (反斜杠), ‘\”‘ (双引号), 以及 ‘\” (单引号)
nil
C语言中的NULL在Lua中是nil,比如访问一个没有声明过的变量。
全局变量和局部变量
lua中的变量如果没有特殊说明,全是全局变量,也就是不论在语句块或是函数里。变量前加local关键字的是局部变量。
theGlobalVar = 50
local theLocalVar = "local variable"
控制语句
if-else分支
if num > 40 then
print('over 40')
elseif s ~= 'walternate' then -- ~= 表示不等于。
-- 像Python一样,== 表示等于;适用于字符串。
io.write('not over 40\n') -- 默认输出到stdout。
else
-- 默认变量都是全局的。
thisIsGlobal = 5 -- 通常用驼峰式定义变量名。
-- 如何定义局部变量:
local line = io.read() -- 读取stdin的下一行。
-- ..操作符用于连接字符串:
print('Winter is coming, ' .. line)
end
NOTE
1)“~=”等价于C中的 !=
2)io库的分别从stdin和stdout读写的read和write函数
3)字符串的拼接操作符“..”
4)条件表达式中的与或非为分别是:and, or, not
关键字。
for循环
从1加到100
-- 通常,范围表达式为begin, end[, step].
sum = 0
for i = 1, 100 do -- 范围包括两端
sum = sum + i
end
使用 “100, 1, -1” 表示递减的范围
sum = 0
for i = 100, 1, -1 do
sum = sum + i
end
从1到100的奇数和
sum = 0
for i = 1, 100, 2 do
sum = sum + i
end
while循环
> sum=0
> num=1
> while num <= 100 do
>> sum=sum+num
>> num=num+1
>> end
> print(sum)
5050
until循环
sum = 2
repeat
sum = sum ^ 2 --幂操作
print(sum)
until sum >1000