JS 里全点号就搞定了, 在 Lua 的教程里看到个 file:seek 之类的,
这是什么意思啊?
回复 (8)
L
引用 imzshh静态函数和成员函数的区别?
@jiyinyiyong 我不懂lua,说说PHP那个吧:
调用静态函数oo::xx()不需要创建一个类的实例,如:
class oo {
static function xx () {
// 类似命名空间那样用吧
}
function xx2 () {
// 这里面可以用使用$this,每个实例的$this指向是不同的
}
}
// xx()是静态方法,不需要创建实例即可调用:
oo::xx();
// xx2()不是静态方法,必须要创建一个实例才能调用
$oo = new oo();
$oo->xx2();
// 创建实例后,这样也可以调用xx()方法
$oo->xx();
大概应该是这样吧,我没仔细研究过
J
引用 imzshh静态函数和成员函数的区别?
@leizongmin 例子懂了. 不过对这种语言特性表示好难理解..
I
静态函数和成员函数的区别?
J
引用 imzshh静态函数和成员函数的区别?
不懂ei, 怎么 Lua 还做这样的区分呢,, 那有没有规律的?
I
引用 imzshh静态函数和成员函数的区别?
@jiyinyiyong Orz,我也不懂Lua……
L
引用 imzshh静态函数和成员函数的区别?
@jiyinyiyong PHP也类似这样:
静态函数: oo::xx()
成员函数:$oo->xx()
J
引用 imzshh静态函数和成员函数的区别?
@leizongmin 两者怎么区分呢?
是不是说调用的模块并不是作为对象来理解了, 所以用了 ::?
J
大致摸清楚了,, 考虑到与 JS 相似度, Lua 设计得好奇怪..
-- 成员方法的定义
function obj:method(a1, a2, ...) … end -- 等价于
function obj.method(self, a1, a2, ...) … end -- 等价于
obj.method = function (self, a1, a2, ...) … end
-- 成员方法的调用
obj:method(a1, a2, …) -- 等价于
obj.method(obj, a1, a2, ...)
参考: http://sebug.net/paper/books/lua/Lua%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8.pdf
参与回复
登录后即可参与回复。登录