第四章 语句 Lua程序设计笔记

--第四章 语句
--4.1 赋值
Lua支持多重赋值,先对等号右边所有元素求值,然后进行赋值。这可以用来交换变量
x, y = y, x

若值的个数少于变量的个数,则多余的变量会被赋值为nil。
若值的个数多余变量的个数,则多余的值会被丢弃。

--4.2局部变量与块block
局部变量的作用域仅限于声明它们的那个块。
一个快可以是一个执行体、一个函数或者一个chunk

尽可能使用局部变量:
1避免搞乱全局环境
2访问局部变量更快
3局部变量随其作用域结束而消失,GC可以释放其值。

local foo = foo
这里创建了一个局部变量,并用全局变量foo的值来初始化它。这种方式可以加速在当前作用局中对foo的访问。

--4.3控制结构
for有两种形式,数字型for和泛型for

数字型for

for var = exp1, exp2, exp3 do
    <body>
end

 

var从exp1变化到exp2,步长为exp3。exp3为可选,若不指定,则默认为1
注意:
1三个表达式在for开始前一次性求值。
2控制变量会被自动声明为local。
若要在循环结束后访问控制变量的值,需要将其保存到另一个变量中

local found = nil
for i = 1,#a do
    if a[i] < 0 then
        found = i
        break
    end
end
print(found)


泛型for
通过一个迭代器函数来遍历所有的值,如ipairs

for i,v in ipairs(a) do
    print(v)
end


数字型for和泛型for的共同点:
1循环变量是循环体的内部变量
2绝不应该对循环变量做任何赋值

转载于:https://www.cnblogs.com/leosirius/p/7896583.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值