Lua学习-语句

1.1-Chunks

Chunk是一系列的语句,你可以理解为Lua可以成功执行不出错的一系列语句。
lua执行的每一块语句,比如一个文件,一行代码,一个函数都可以理解为一个chunk。

1.2-Blocks

语句块(Block)
语句块是一列语句段;从语法上来说,一个语句块跟一个 chunk 相同.

1.3-赋值

Lua 允许多重赋值。
因此,赋值的语法定义是等号左边放一系列变量, 而等号右边放一系列的表达式。
两边的元素都用逗号间开。
如:

a,b,c = 1,2,3
a,b,c = 1+2,2*2,3-1

右边个数 大于 左边 ,右边的会被丢弃
反之 ,左边多出的变量会被用nil填充

赋值段首先会做运算完所有的表达式,然后仅仅做赋值操作。

i = 3
i, a[i] = i+1, 20

--同

i, a[3] = 4, 20

所以

x,y = y,x

可以互换x,y的值

1.4-控制结构

  • if
  • while
  • repeat
  • for
  • reutrn
  • break
if exp then
    block
elseif exp then
    block
else
    block
end
while exp do
    block
end
repeat
    block
until
    exp

在 repeat–until 循环中, 内部语句块的结束点不是在 until 这个关键字处, 它还包括了其后的条件表达式。 因此,条件表达式中可以使用循环内部语句块中的定义的局部变量。

for i = a,b do
    block
end

条件表达式中除了 nil 和 false认为假,其他均为真,包括 0 和 空字符串

return 可返回多个值

function func()
    a=1
    b=2
    reutrn a,a+b
end

break 用法与其他编程语言相同,不再赘述,用于跳出最内层循环

1.5-For语句

详细讲述for语句语法
1.数字形式

for var = e1,e2,e3 do
    block
end

循环从 e1 到 e2 ,步长 为 e3
e1,e2,e3 若为表达式,其结果必须为数字!
e3 可 省略,默认为 1

2.一般形式

for var1,...varn in explist do
    block
end

你可能感兴趣的:(Lua)