开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第25天,点击查看活动详情
回顾
- 现在数据结构和逻辑运算都已经学完了,那么剩下的就是简单的对象使用了
对象
Local tb1 = {x=10, y=20}
local tb1 = {[“x”] = 10, [“y”] = 20}
tb1 ={};tbl.x=10; tbl.y=20;
-
我们直接将内容复制给对象即可,不需要想Java那样强类型验证很是麻烦。
-
还有钟情康,我们可以选择性的传递对戏那个
-
在构造函数的最后的","是可选的,可以方便以后的扩展。
控制
所有的编程语言都有控制语句,对lua同样,lua支持的控制语句有if条件,循环的while、for、repeat-util语句,其中if、while、for都是以end结尾,而repeat以util结尾。同时lua不支持switch语句,但是我们可以通过程序实现这种控制结构
if conditionsthen
then-part
elseif conditionsthen
elseif-part
.. --->多个elseif
else
else-part
end;
while:
local a = 10
while a > 0 do
a = a - 1
-- Do something else
End
for:
for var = exp1, exp2, exp3 do
-- Do something
End
var从exp1变化到exp2,每次变化都以exp3作为步长进行递增。第三个表达式exp3是可选的,若不指定的话,Lua会将步长默认为1
5)return/break
两个都可以跳出循环代码块,但是return是函数返回结果,lua中的函数都有一个默认的return。
函数 函数对各种编程语言都是至关重要的,同样LUA中的函数有一些自己的特性,由于各种语言的函数基本相同,这章重点介绍这些特性
语法 lua函数必须以end结尾
function testFunction(param)
Print(“hello Lua”)
end
函数调用 当函数只有一个字符串参数或者参数是table时候,可以不写圆括号,例如:
print "Hello World" --> print("Hello World")等价
print [[a multi-line message]] -->
print([[a multi-line message]])等价
-- f是一个函数
f{x=10, y=20} -->f({x=10, y=20})等价
调用函数的实际参数和定义函数的形式参数个数可以不相同,Lua会自动调整数量,如果实参多与形参,则舍去多余的,如果实参少于形参,则多余的形参赋值为nil