永发信息网

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程序员,用什么语言实现的函数使用起来都一样。(优势就在此处)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯