我在cnblog的处女博客,开始正题吧。
1. 安装Lua
在Windows下安装Lua,我下载了LuaForWindows进行安装。在Google Code上有安装包。
按照提示安装,然后就可以开始写代码了。
2. 初试Lua
大部分来自百度贴吧http://tieba.baidu.com/p/2480449939。打开Lua编辑器——SciTE,输入
1 print(“Hello, World!\n”)
保存文件(必须手动添加后缀.lua),F5运行。下面的命令行窗口会显示Hello, World!
为了不闪退,添加一行
1 pause=io.read()
让用户输入一个数字保存到pause变量中。得到下面的结果。
3. Lua里的特殊字符
Notes:
\a 铃声(警报声)
\b 回退
\f 换页
\n 换行
\r 按Enter键
\t 按Tab键
\v 垂直制表
\' 单引号
\" 双引号
\? 问号
\\ 反斜杠
\000 八进制
\xhhh 十六进制
多说无益,上代码吧。
4. Lua中的函数
打印11个*
1 function print10stars() 2 for n=0,10 do 3 print("*") 4 end 5 end 6 7 print10stars() 8 print("2nd test\n") 9 10 pause = io.read()
5. for循环
打印0到10的值
1 for a = 0,10 do 2 print(a) 3 end 4 5 pause = io.read()
循环计算1到100的和
1 function sumTo100() 2 sum = 0 3 for i=1,100 do 4 sum = sum + i 5 end 6 7 print(sum) 8 end 9 10 sumTo100()
6. if的实验
1 if a==b then 2 print("Yes") 3 else 4 print("No") 5 end
结果是yes
Notes: Lua的关系运算符:==,>=,<=,~=(不等于)
逻辑与(and)、逻辑或(or)的例子
1 function show() 2 a = io.read() 3 b = io.read() 4 if (a=='a' or a=='A') and (b=='z' or b =='Z') then 5 print("yes") 6 else 7 print("no") 8 end 9 end 10 11 show()
for循环中嵌套if的实验,计算1到50的和,结果为1275
1 function show() 2 sum = 0 3 for i = 0,100 do 4 if i > 50 then 5 break 6 end 7 sum = sum + i 8 end 9 print(sum) 10 end 11 12 show()
7. While循环
计算1到100的和,结果为5050
1 function show() 2 sum = 0 3 i = 0 4 times = 0 5 while times <= 100 do 6 sum = sum + i 7 i = i + 1 8 times = times + 1 9 end 10 print(sum) 11 end 12 13 show()
8. Lua注释
单行注释:
1 -- The content need to be commented
多行注释:
1 --[[The content 2 need to be commented. ]]--
9. 函数返回值
返回幂级数a^b
1 function pow(x,y) 2 return x^y 3 end 4 5 function main() 6 a = io.read();b=io.read() 7 print(pow(a,b)) 8 end 9 10 main()
Notes: Lua支持的运算符:+,-,*,/,^
10. 数组
index可以是数字
function show() a = {[1]=100, [2]=200, [3]=300} io.write(a[1],"\n") end show()
写成这样,猜猜结果是多少呢?
1 function show() 2 a = {[1]=100, [1]=200, [2]=300} 3 io.write(a[1],"\n") 4 end 5 6 show()
结果是200。
index还可以是字符。。。
1 function show() 2 a = {["/"]="A", ["*"]="B", ["-"]="C"} 3 io.write(a["/"],"\n") 4 end 5 6 show()
11. 多行字符串
1 --Multilines string 2 3 function show() 4 str=[[ 5 #include <iostream> 6 using namespace std; 7 8 int main(){ 9 cout << "Hello, world!" << endl; 10 11 return 0 12 } 13 ]] 14 print(str) 15 end 16 17 show() 18 pause = io.read()