lua 说明self,点号或冒号的关系
2014-04-04 14:50
169 查看
定义的时候冒号默认接收self参数
调用的时候冒号默认传递调用者自己为参数
而句号要显示传递或接收self参数
-- 例如:句号定义,需要显示传递或接收
这样调用要传递self,比较麻烦,所以lua给一个方便的方法
将函数定义改成冒号,就可以省略self参数
将调用改成冒号,就可省略传自己进去
最后说明一下,如果不用self,直接在函数里使用x是不行的
之前以为可以像c++类一样,成员函数可以直接使用类成员变量
调用的时候冒号默认传递调用者自己为参数
而句号要显示传递或接收self参数
-- 例如:句号定义,需要显示传递或接收
a = { x = 1 } function a.fun(self) print(self.x) end a.fun(a)--输出1,将a自己做为参数传给fun函数的self
这样调用要传递self,比较麻烦,所以lua给一个方便的方法
将函数定义改成冒号,就可以省略self参数
function a:fun() print(self.x) end a.fun(a)
将调用改成冒号,就可省略传自己进去
function a:fun() print(self.x) end a:fun()
最后说明一下,如果不用self,直接在函数里使用x是不行的
之前以为可以像c++类一样,成员函数可以直接使用类成员变量
function a:fun() print(x)--将输出nil,找不到这个x end
相关文章推荐
- lua的标准库函数
- lua 面向对象
- lua 一个简单的继承/派生关系
- lua 5.1参考手册
- [LeetCode] Evaluate Reverse Polish Notation
- lua错误总结
- lua中字符串匹配
- Lua string
- Lua模式匹配
- Lua中的pairs们(pairs,ipairs,gmatch)
- KopiLua and LuaInterface
- lua语言学习(2.0)(终章)
- lua开篇
- Lua 函数作为参数传递时的注意事项
- Lua闭包(closure)示例
- Lua 学习记事本
- 327 - Evaluating Simple C Expressions
- Wax 将Lua带人iPhone开发
- lua开发工具
- lua与c互调--lua调用c