深入浅出游戏算法(3)-lua脚本(2)

一、基础

1hello,world

在解释器状态下,输入

print("hello,world")

如下所示:

Lua 5.2.3  Copyright (C) 1994-2013 Lua.org, PUC-Rio

> print("hello,world")

hello,world

hello,world中我们可以看到这种语言类似于C语言,至少和C语言一样是用print输出。但在lua中每条语句的结尾处可以使用“;”号表示结束,也可以不使用它,语句之间可以断行,用不着断行符。下面这2条语句也可以正常运行:

(1)print("hello,world");

2> print(

     >> "hello,world"

     >> )

但不要试图在字符串中断行,将出错:

> print("hell

>> o,world")

stdin:1: unfinished string near '"hell'

2、运行外部程序

lua 文件名

lua hello.lua

比如:

dp@dp:~ % lua hello.lua

hello,world

dp@dp:~ % 

3、通过lua命令行的“-e”选项直接运行代码

dp@dp:~ % lua -e"a=5print(a)"

5

dp@dp:~ % 

4、注释的使用

麦好的AI乐园博客所有内容是原创,如果转载请注明来源

http://blog.csdn.net/myhaspl/


   下面代码通过循环完成累加计算,在lua,可以用“--”表示行注释的开始,用“--[[”和“--]]”表示块注释。

dp@dp:~ % cat lj.lua

--[[

code:myhaspl@qq.com

date:2014-02-11

--]]

sum=0

n=20

for i=1,n do

sum=sum+i;--通过循环完成累加

end

print(sum)

运行

dp@dp:~ % lua lj.lua

210

dp@dp:~ % 

5、脚本启动参数

在脚本启动时,可以向脚本传递参数,参数将放在arg的全局变量中。

dp@dp:~ % cat cs.lua

print("索引为-2的参数")

print(arg[-2])

print("索引为-1的参数")

print(arg[-1])

print("索引为0的参数")

print(arg[0])

print("索引为1的参数")

print(arg[1])

print("索引为2的参数")

print(arg[2])

dp@dp:~ % 

运行:

dp@dp:~ % lua -e "a=66 print(a)" cs.lua 20 10

66

索引为-2的参数

-e

索引为-1的参数

a=66 print(a)

索引为0的参数

cs.lua

索引为1的参数

20

索引为2的参数

10

6、下面将累加程序修改一下,可以自由计算任意值的累加和:

dp@dp:~ % cat lj.lua

--[[

code:myhaspl@qq.com

date:2014-02-11

--]]

sum=0

n=tonumber(arg[1])--取得启动参数

for i=1,n do

sum=sum+i;--通过循环完成累加

end

print(n.."累加:"..sum)

麦好的AI乐园博客所有内容是原创,如果转载请注明来源

http://blog.csdn.net/myhaspl/


上述程序中,tonumber将字符串转为数字,传递的脚本启动参数为字符串型,此外,“..”表示完成字符串拼接。

运行:

dp@dp:~ % lua lj.lua 4

4累加:10

dp@dp:~ % lua lj.lua 9

9累加:45

dp@dp:~ % lua lj.lua 2

2累加:3

dp@dp:~ % lua lj.lua 20

20累加:210

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值