功能 – Lua中的奇怪构造
发布时间:2020-12-14 21:46:21 所属栏目:大数据 来源:网络整理
导读:我正在学习Lua并遇到以下构造: button.action = function() buttonPressed() end 它是一样的吗? button.action = buttonPressed() end ? 我知道button.action被赋予了buttonPressed()返回的值,但是为什么要将它包装成这样的匿名函数呢? 解决方法 “我知
我正在学习Lua并遇到以下构造:
button.action = function() buttonPressed() end 它是一样的吗? button.action = buttonPressed() end ? 我知道button.action被赋予了buttonPressed()返回的值,但是为什么要将它包装成这样的匿名函数呢? 解决方法
“我知道button.action被赋予了buttonPressed()返回的值,但是为什么要将它包装成这样的匿名函数呢?”
你理解错了.该声明: button.action = function() buttonPressed() end 将button.action分配给一个匿名函数,该函数在被调用时将依次执行调用buttonPressed().请注意,匿名函数不返回任何内容,因此仅为其副作用调用它.这是回调的常见习语.您使用匿名函数来延迟执行某些代码(在这种情况下,只调用buttonPressed),直到您需要执行它为止. 鉴于你的代码片段的名称,我猜这个代码设置了按下某个按钮时要执行的操作.当按下按钮时,动作被触发(代码内部的某处会有一个调用,如button.action()调用存储在button.action中的匿名函数)并执行调用buttonPressed(). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |