lua菜鸟教程_(完整版)lua学习笔记学习记录
*Lua
中函数调⽤
,
可省略括号的情况
:
⼀个函数只有⼀个参数
,
并且次参数是⼀个字⾯字符或
者
table
构造式。
*Lua
中⾯向对象特殊调⽤提供⼀种特殊的语法
—
冒号操作符。
*Lua
中逻辑操作符,
and
和
or
返回的不是逻辑真假,⽽是返回的操作数。
*Lua
中函数调⽤多重返回值,
返回情况约定:
只有当⼀个函数调⽤是⼀系列表达式
(
4
种情
况:多重复值,函数调⽤时的传⼊参数,
table
的构造式和
最后⼀个元素
(或仅有⼀个元素)时,才能取得他的所有返回值。其他情况返回数量⾄多为
1
。
*Lua
中多重复值对操作符()的约定,单独被()包围的多重复值,会被强迫只返回⼀个值。
*Lua
中多重返回值得特殊函数
-unpack
,⼀次返回数组参数的所有元素,此函数的主要⽤途
体现在“范型调⽤”机制中。
*Lua
中变长参数,操作符
…
表⽰变长实参,
{
…
}
表⽰⼀个有所有变长参数构成的数组。
*Lua
中提供格式化⽂本(
string.format
)和输出⽂本(
io.write
)的函数
*Lua
中遍历变长参数的函数
select(selector,
…
) ,
当
n
时返回
,
返回边长数组中
第
n
各值
,
当
selector
为
"#"
时
,
返回变长数组长度。*Lua
中函数构造式,function (
参数
)
语句体
end
*Lua
中
closure
(
闭合函数)
相关概念:
词法域,
“
第⼀类的”
函数,
⾮局部的变量”
(
upvalue
)
菜鸟教程python面向对象。
将
函数体
赋予
变量
时,
变量
会完成⼀个
函数构造式
,
创建和初始化函数中的各种变量,
成为
函数变量
,
函数变量
在被释放前都维护着⾃⼰的
资源块
,
函数变量的资源块中可存在函数变
量。
Lua
语⾔中函数变量中的局部代码可调⽤函数变量同⼀词法域的变量,对其理解可参考新
c++11
中
lambda
可以设定识别范围。
*Lua
中由于函数变量的机制,其递归是通过函数变量实现的,⽽不是函数名(
中函数块
均⽆名)
。
*Lua
中⼀种定义函数的语法糖:
语法糖定义初始化函数变量
local function foo (<
参数
>) <
函数体
> end
实际展开:
local foo ;foo = function (<
参数
>) <
函数体
> end
语法糖定义初始化函数变量
local foo;function foo (<
参数
>) <
函数体
> end
实际展开:
local foo; foo ;foo = function (<
参数
>) <
函数体
> end
*Lua
中尾调⽤正确的使⽤⽅法:判断准则“⼀个函数在调⽤完另⼀个函数之后,是否就⽆其它事情需要做”
function
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论