码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-11-25 22:39:10      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:自动   hunk   pairs   交换变量   作用   交换   变量   程序   ipairs   

--第四章 语句
--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绝不应该对循环变量做任何赋值

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

标签:自动   hunk   pairs   交换变量   作用   交换   变量   程序   ipairs   

原文地址:http://www.cnblogs.com/leosirius/p/7896583.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!