lua 结尾加;和不加有什么区别
答案:1 悬赏:30 手机版
解决时间 2021-11-30 19:07
- 提问者网友:十年饮冰
- 2021-11-30 04:47
lua 结尾加;和不加有什么区别
最佳答案
- 五星知识达人网友:鱼芗
- 2021-11-30 06:17
使用local声明一个局部变量或局部函数,局部对象只在被声明的那个代码块中有效。
代码块:一个控制结构、一个函数体、一个chunk(一个文件或文本串)(Lua把chunk当做函数处理)
这样,可以在chunk内部声明局部函数,该函数仅在chunk内可见,并且词法定界保证了包内其他函数可以调用此函数。
在chunk内部定义多个local function并且相互调用(或定义local递归调用函数)时,最好先声明,再定义。
应该尽可能的使用局部变量(使用关键词local声明的变量),有两个好处:
1. 避免命名冲突
2. 访问局部变量的速度比全局变量更快.
可以用do..end来显示的控制local的作用范围,Lua中的do...end就相当于C++中的{},它定义了一个作用域。
多返回值函数:
第一,当作为表达式调用函数时,有以下几种情况:
1. 当调用作为表达式最后一个参数或者仅有一个参数时,根据变量个数函数尽可能多地返回多个值,不足补nil,超出舍去。
2. 其他情况下,函数调用仅返回第一个值(如果没有返回值为nil)
第二,函数调用作为函数参数被调用时,和多值赋值是相同。
第三,函数调用在表构造函数中初始化时,和多值赋值时相同。
另外,return f()这种形式,则返回“f()的返回值”:
可以使用圆括号强制使调用返回一个值。
unpack:函数多值返回的特殊函数,接受一个数组作为输入参数,返回数组的所有元素。
函数可变参数:...表示可变参数,函数体中用arg访问,同时arg还有一个域n表示参数的个数。
多值赋值经常用来交换变量,或将函数调用返回给变量:
调用函数的时候,如果参数列表为空,必须使用()表明是函数调用。
上述规则有一个例外,当函数只有一个参数并且这个参数是字符串或者表构造的时候,()可有可无。
Lua使用的函数,既可是Lua编写的,也可以是其他语言编写的,对于Lua程序员,用什么语言实现的函数使用起来都一样。(优势就在此处)
代码块:一个控制结构、一个函数体、一个chunk(一个文件或文本串)(Lua把chunk当做函数处理)
这样,可以在chunk内部声明局部函数,该函数仅在chunk内可见,并且词法定界保证了包内其他函数可以调用此函数。
在chunk内部定义多个local function并且相互调用(或定义local递归调用函数)时,最好先声明,再定义。
应该尽可能的使用局部变量(使用关键词local声明的变量),有两个好处:
1. 避免命名冲突
2. 访问局部变量的速度比全局变量更快.
可以用do..end来显示的控制local的作用范围,Lua中的do...end就相当于C++中的{},它定义了一个作用域。
多返回值函数:
第一,当作为表达式调用函数时,有以下几种情况:
1. 当调用作为表达式最后一个参数或者仅有一个参数时,根据变量个数函数尽可能多地返回多个值,不足补nil,超出舍去。
2. 其他情况下,函数调用仅返回第一个值(如果没有返回值为nil)
第二,函数调用作为函数参数被调用时,和多值赋值是相同。
第三,函数调用在表构造函数中初始化时,和多值赋值时相同。
另外,return f()这种形式,则返回“f()的返回值”:
可以使用圆括号强制使调用返回一个值。
unpack:函数多值返回的特殊函数,接受一个数组作为输入参数,返回数组的所有元素。
函数可变参数:...表示可变参数,函数体中用arg访问,同时arg还有一个域n表示参数的个数。
多值赋值经常用来交换变量,或将函数调用返回给变量:
调用函数的时候,如果参数列表为空,必须使用()表明是函数调用。
上述规则有一个例外,当函数只有一个参数并且这个参数是字符串或者表构造的时候,()可有可无。
Lua使用的函数,既可是Lua编写的,也可以是其他语言编写的,对于Lua程序员,用什么语言实现的函数使用起来都一样。(优势就在此处)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯