0

如何根据条件在 Lua 中将整个函数命名为 false?例子:

if homeruns == 1 or homeruns == 2
then function BabeRuth() = false
end
4

3 回答 3

5

我猜在这里,但也许你想要这个:

function BabeRuth()
  if homeruns == 1 or homeruns == 2 then
    return false
  else 
    return true
  end
end

可以更简洁地写成

function BabeRuth()
  return not (homeruns == 1 or homeruns == 2)
end

继续我的猜谜游戏,也许你想要这个,而不是依赖全局变量:

function BabeRuth(homeruns)
  return not (homeruns == 1 or homeruns == 2)
end
于 2013-08-29T12:46:36.767 回答
1

我相信你想要的是这样的:

function_name = nil

你不想要function_name(),因为它调用了函数。

但我不是 100% 确定我知道你在做什么。您是否正在尝试删除功能(例如在沙盒环境中以确保安全?)?

于 2013-08-29T12:27:05.663 回答
0

如果您想在BabeRuth满足条件后重新定义函数以在调用时(从那时起)返回 false,您可以将其绑定到一个新的匿名函数,如下所示:

> homeruns = 1
> if homeruns == 1 then BabeRuth = function() return false end end
> BabeRuth()
false

主要部分是

BabeRuth = function() return false end

于 2013-08-29T12:31:36.347 回答