#Lua 的 rawequal 函数
rawequal (v1, v2)
说明
判断 v1
和 v2
是否相等,不会调用 __eq
元方法。
参数
v1
- 要比较的内容v2
- 要比较的内容
返回值
- 相等返回
true
- 不相等返回
false
#示例
local v1 = { value = 10 }
local v2 = { value = 10 }
-- 定义元表,包含 __eq 元方法
local metatable = {
__eq = function(v1, v2) return v1.value == v2.value end
}
-- 设置元表
setmetatable(v1, metatable)
setmetatable(v2, metatable)
-- 判断相等
print('v1 == v2 is', v1 == v2)
print('rawequal(v1, v2) is', rawequal(v1, v2))