无尽的值变量

我试图创建一个具有无限值的变量,如果与0进行比较,我希望它为0,与任何其他数字/字符串相同。

if ( epicvar == "random string" ) then
点赞
用户1127098
用户1127098

这是不可能的。我不知道有哪个语言可以提供这种行为。

一个变量只能存储有限的信息。你可以在一个变量中存储多个值,但是希望“无限值”可能意味着你应该阅读一些关于基本编程概念的文件,熟悉一下。

有一个常量math.huge,它用于表示+无穷大的值。然而,这是一个离散值。

仅仅为了好玩,一个模拟这种情况的方法可能是创建一个包含始终返回true的Lua类实例的函数。然而,这只是为了好玩而已。你不能定义具有无限值的变量。

local Magic = {}
Magic.__index = Magic

-- (我也建议增加一个可切换的“epicvar”标志来启用/禁用属性)
function Magic.new()
    return setmetatable({}, Magic)
end

function Magic.compare(self, randomVar)
    return true
end

local m = Magic.new()

-- m:compare(...)无论你给它什么,总是返回true
if m:compare("随机字符串") then
    print('成功')
end
2016-03-22 02:01:44