Lua中这种奇怪的功能构造,你能否解释一下其背后的原理?

2026-04-01 20:511阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计339个文字,预计阅读时间需要2分钟。

Lua中这种奇怪的功能构造,你能否解释一下其背后的原理?

我在学习Lua时遇到了以下构造方式,想确认一下是否正确:button.action=function() buttonPressed() end这是否等同于:button.action=buttonPressed()我知道`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().

Lua中这种奇怪的功能构造,你能否解释一下其背后的原理?

本文共计339个文字,预计阅读时间需要2分钟。

Lua中这种奇怪的功能构造,你能否解释一下其背后的原理?

我在学习Lua时遇到了以下构造方式,想确认一下是否正确:button.action=function() buttonPressed() end这是否等同于:button.action=buttonPressed()我知道`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().

Lua中这种奇怪的功能构造,你能否解释一下其背后的原理?