Lua编程
Lua(请不要念成“撸啊”),一款被设计成可用于包括游戏、网站和图形处理等多方面等各类应用的轻量级可嵌入的脚本语言,在很多游戏游戏中得到应用,例如:Don't Starve,Don't Starve Together,Crusader Kings II,Europa Universalis IV,Crypt of the NecroDancer,等等。
要阅读本章的内容,你需要对计算机编程的概念有基本的了解。
首先为那些已经学习过#编译原理的童鞋献上Lua的AST
标识符/Identifiers
Lua中的标识符,可以是任何以字母或下划线开始,由字母([a-zA-Z])、数字([0-9])或下划线('_')构成的字符串。
Lua对大小写敏感,也就是说Lua跟LUA是不同的两个标识符。
关键字/Key words
Lua提供了共计21个关键字,即:
andbreakdoelseelseif
endfalseforfunctionif
inlocalnilnotor
repeatreturnthentrueuntilwhile
其他符号
+ - * / ^ =
~= <= >= < > ==
( ) { } [ ]
; : , . .. ...
赋值Assignment
Lua,正如JavaScript一样,是一种类型松散(loose typing)的脚本语言;换言之,与C/C++和Java等强类型定义语言中要求声明(declare)变量时必须选择变量的类型不同,Lua赋值时只需要变量名和变量值:
my_var = "hello"
短路求值/Minimal evaluation
由于Lua内核是基于C语言编写的,支持短路求值自然不足为奇。
所谓短路求值,即在以下Lua代码
if condition_A and condition_B and condition_C then
中,首先计算condition_A的真值,若condition_A为假(false),则跳出;否则依次计算下一个布尔表达式的真值,直到出现假或者全部表达式都计算完毕为止。
表/Table
Lua的设计者在其语法中引入了表的概念,用以表示中的数组(Array)和图(Map)两种数据结构。
1.创建一个表
你可以创建一个以字符串为键(Key)的表,即:
my_map = { apple = 5, banana = 10, melon = 9 }
或者一个类似数组的表,即:
my_array = { "Tom", "Jack", "Peter" }
2.修改表中的数据
如果你的表是以字符串为键的,那么你可以:
my_map.apple = 15或者my_map["apple"] = 17
如果你的表示以数字为键的,那么你可以:
my_array[1] = "Tompson"
请注意,Lua中以数字为键的表跟C/C++中数组不同,也就是my_array[0]的值是 nil。
表的遍历
以字符串为键的表通过以下语法进行遍历:
for k, v in pairs(my_map) do
而以数字为键的表则是:
for i, v in ipairs(my_array) do
控制结构
1.选择
if exp then
block
elseif exp then
block
else
block
end
2.当型循环
while exp do
block
end
3.直到型循环
repeat
block
until exp
4.从循环中跳出
在循环结构中使用return和break可以跳出。
上一个: 《这是我的战争》狙击手交叉点打法图文攻略
下一个: 《我的世界》生存模式精简房屋建造教程
浏览量:222023-02-27
浏览量:22022-12-01
浏览量:12022-08-18
浏览量:02021-08-15
浏览量:02019-12-28
浏览量:02019-12-28
赚麻了!英伟达CEO年薪大涨60%!
《黎明杀机》开发商推出衍生游戏《What the Fog》
《寂静之地:入侵日》 6月28日北美上映
RTX5090/5080显卡即将来袭!测试功耗惊人!
《猩球崛起4》成该系列开局票房最高的一部作品
索尼PS5总销量达到5930万