【发布时间】:2012-06-02 11:25:49
【问题描述】:
如何向表类型添加方法?我正在尝试编写一种搜索表值的方法。到目前为止,我有。
function table:contains(value)
for _, v in ipairs(self) do
if v == value then return true end
end
return false
end
然而,当我尝试执行以下操作时。
t = {'four', 'five', 'six'}
t:contains('five')
我得到了错误。
stdin:1: attempt to call method 'contains' (a nil value)
有什么建议吗?
【问题讨论】:
-
请注意,
table.contains(t, 'five')确实有效。所以问题归结为:instance:method(...)和type.method(instance, ...)有什么区别,这也让我很困惑here。
标签: lua metaprogramming