加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在Lua中定义一个函数?

发布时间:2020-12-15 00:23:40 所属栏目:大数据 来源:网络整理
导读:如何从上面调用需要调用的函数?我读了一些关于转发声明的内容,但Google在这种情况下没有任何帮助。这是什么正确的语法? 谢谢。 解决方法 Lua是一种动态语言,函数只是一种可以使用()运算符调用的值。所以你真的不需要转发声明函数,以确保在调用它时范围
如何从上面调用需要调用的函数?我读了一些关于转发声明的内容,但Google在这种情况下没有任何帮助。这是什么正确的语法?

谢谢。

解决方法

Lua是一种动态语言,函数只是一种可以使用()运算符调用的值。所以你真的不需要转发声明函数,以确保在调用它时范围内的变量是您认为的变量。

对于包含函数的全局变量,这不是一个问题,因为全局环境是查找变量名的默认位置。然而,对于本地功能,您需要确保本地变量已经在您需要调用其存储的值的词汇点的范围内,并且还要确保在运行时它确实拥有可以调用的值。

例如,这里是一对相互递归的局部函数:

local a,b
a = function() return b() end
b = function() return a() end

当然,这也是一个使用尾部调用来允许无限次递归的例子,但这里就是声明。通过在存在变量之前使用local声明变量,这些名称在本示例的其余部分的词法范围内被称为局部变量。然后存储两个函数,每个函数指向另一个变量。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读