1、为什么使用Lua?
这个问题很多大牛前辈都回答过它的用处,现实游戏开发情况也可以证明它的广泛使用。《Lua 为什么在游戏编程领域被广泛运用》,开源社区《为什么我选择 Lua ?》等等,都充分肯定了Lua的强大及其前景,免费小巧快速易移植,更重要的是其易扩展性使得Lua非常适合游戏开发,大话西游2、 魔兽世界Wow插件、剑侠情缘3等等都是用Lua语言。不过不用担心,强大的Lua却是比较容易学习上手,可深入讲的东西并不多,市面专门讲Lua的中文书籍也很少。《Program in Lua》、译本《Lua游戏开发实践指南》等都是很经典的书。
其实我们说lua一种脚本语言,函数库不如C++强,是以C++作为寄主的语言,单独用也行。所以在游戏开发中适合用它。卡牌手游类型的游戏《三国杀》、《英雄杀》也是用lua编译的。lua的目标是成为一个很容易嵌入其他语言中使用的语言。很多的应用程序使用lua做为自己的嵌入式脚本语言,以此来实现可扩展性、可配置性。这其中包括了魔兽世界、博德之门、愤怒的小鸟、VOCALOID3 等。
2、Lua有什么程序控制语句?
条件控制:if 条件 then … elseif 条件 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来中止一个循环。
3、Lua有哪些关键字?
end false for function if
in local nil not or
repeat return then true until while
4、Lua的语句块有哪些?
lua的语句块和C语言对比的主要区别在于,C、c++用”{“和”}”括起来,lua中用do和end括起来。如:do print(“Hello”) end。
5、Lua的数值运算有哪些?
lua和c语言一样,支持+,-,*,/等运算符,lua还多了一个特殊的“^”,表示指数乘方运算,如2^3结果为8。
连接两个字符串,可以用".."运处符。如:"This a " .. "string." -- 等于 "this a string"
6、Lua的注释是什么?
当我们写一个lua程序,总是少不了注释的。在Lua中,你可以使用单行注释和多行注释。
单行注释中,连续两个减号"--"表示注释的开始,一直延续到行末为止。相当于C++语言中的"//"。
多行注释中,由"--[["表示注释开始,并且一直延续到"]]"为止。这种注释相当于C语言中的"/*…*/"。在注释当中,"[["和"]]"是可以嵌套的。
在lua中,语言之间可以用分号“;”隔开,也可也用空白隔开。一般来说如果多个语句写在同一行的话,
建议总是用分号隔开。
7、Lua的赋值语句是什么?
赋值语句在lua中被强化,它可以同时给多个变量赋值。比如:
a,b,c,d=1,2,3,4甚至是:a,b=b,a---多么方便的交换变量功能。
8、Lua中如何进行比较运算?
<(小于) >(大于) <=(小于等于) >=(大于等于) ~=(不相等)=(相等)
所有这些操作符总返回true或false。
对于table,function和userdata类型的数据,只有==和~=可以用。先跟表示两个变量引用同一个数据。