【发布时间】:2018-04-04 01:14:55
【问题描述】:
我有一个类似这个例子的元表设置:
setmetatable(self, {
__index = function(_,k)
return Class[k] and Class[k](self, ref) or ref[k]
end
})
还有我的功能:
function Class:isDriving(person)
return (person.onRoad and person.inCar) or false
end
它让我可以做这样的事情:
print(driver.isDriving)
现在一切正常,当表达式为真时,它返回一个布尔值true。 我唯一的问题是表达式在其为 false 时返回 nil,而不仅仅是一个布尔值 false。
--I tried this too, but also returns nil
return (person.onRoad and person.inCar) or (nil and false)
我该如何解决这个问题?
【问题讨论】:
标签: lua expression metatable