我正在尝试使用具有无限值的变量,如果将其与0进行比较,我希望它为0,并且与任何其他数字/字符串相同。
if ( epicvar == "random string" ) then
答案 0 :(得分:0)
这是不可能的。我不知道任何提供这种行为的语言。
单个变量只能存储有限数量的信息。您可以在变量中存储多个值,但希望“无限值”#34;向我建议你应该做一些阅读并熟悉基本的编程概念。
有一个常量math.huge
,用于表示+ infinity的值。但是,它是一个离散值。
只是为了好玩,一种模仿这种行为的hacky方法可能是创建一个包含一个总是返回true的函数的Lua类的实例。同样,这只是为了好玩。您无法定义具有无限值的变量。
local Magic = {}
Magic.__index = Magic
-- (i'd also suggest a toggable "epicvar" flag to enable/disable the property)
function Magic.new()
return setmetatable({}, Magic)
end
function Magic.compare(self, randomVar)
return true
end
local m = Magic.new()
-- m:compare(...) always returns true no matter what you give it
if m:compare("random string") then
print('success')
end