Lua中向表类型添加方法有哪些技巧和方式?
- 内容介绍
- 文章标签
- 相关推荐
本文共计279个文字,预计阅读时间需要2分钟。
如何向表类型添加查找方法?我正在尝试编写一个搜索表值的函数。目前我有一个.+function+table:contains(value)+for+_,+v+in+ipairs(self)+do+if+v+%3D%3D+value+then+return+true+end+end+return+false+end+然而,当我尝试运行它时,遇到了.+error+attempt+to+index+a+nil+value+的错误。
如何向表类型添加方法?我正在尝试编写一个搜索表值的方法.到目前为止我有.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)
有什么建议?
所有表都没有单个元表.与字符串和数字不同,每个表都有自己独立的元表.只需为这些类型的东西创建一个自由函数而不是“成员”函数.并非所有东西都需要与OOP一起使用:等等.
本文共计279个文字,预计阅读时间需要2分钟。
如何向表类型添加查找方法?我正在尝试编写一个搜索表值的函数。目前我有一个.+function+table:contains(value)+for+_,+v+in+ipairs(self)+do+if+v+%3D%3D+value+then+return+true+end+end+return+false+end+然而,当我尝试运行它时,遇到了.+error+attempt+to+index+a+nil+value+的错误。
如何向表类型添加方法?我正在尝试编写一个搜索表值的方法.到目前为止我有.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)
有什么建议?
所有表都没有单个元表.与字符串和数字不同,每个表都有自己独立的元表.只需为这些类型的东西创建一个自由函数而不是“成员”函数.并非所有东西都需要与OOP一起使用:等等.

