lua终章

28 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 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