lua里面可以把:变成其他的字符吗?
比如这个页面里面的例子:http://www.runoob.com/lua/lua-object-oriented.html-- Meta class
Shape = {area = 0}
-- 基础类方法 new
function Shape:new (o,side)
o = o or {}
setmetatable(o, self)
self.__index = self
side = side or 0
self.area = side*side;
return o
end
-- 基础类方法 printArea
function Shape:printArea ()
print("面积为 ",self.area)
end
-- 创建对象
myshape = Shape:new(nil,10)
myshape:printArea()
我不喜欢myshape:printArea(),我喜欢myshape::printArea()或者是myshape->printArea()
据说lua是一个非常灵活的语言,不知道有没有这个能力。 lua里“::”已经有用了,这货是label的前缀,所以改成::是不行的。
你要改成"->"的话,在llex.c里加一行就行了:
static int llex (LexState *ls, SemInfo *seminfo) {
// ...
case '-': {/* '-' or '--' (comment) */
next(ls);
if (check_next1(ls, '>')) return ':'; // 加上这一行
// ...
}
测试:
X = {}
function X->f()
end
木有报错 windoze 发表于 2017-04-09 23:05
lua里“::”已经有用了,这货是label的前缀,所以改成::是不行的。
你要改成"->"的话,在llex.c里加一行就 ...
阿猫威武!{:yct68:}
页:
[1]