LUA语言小问题
counter={count=0}functioncounter.get(self)returnself.countendfunctioncounter.inc(self...
counter = {
count = 0
}
function counter.get(self)
return self.count
end
function counter.inc(self)
self.count +self.count + 1
end
文中,get(self)和inc(self)分别指的是什麽,并且,self.count是什麽意思。
非常感谢! 展开
count = 0
}
function counter.get(self)
return self.count
end
function counter.inc(self)
self.count +self.count + 1
end
文中,get(self)和inc(self)分别指的是什麽,并且,self.count是什麽意思。
非常感谢! 展开
2个回答
展开全部
self表示自身的意思,效果类似于c++里的this 指向当前类
lua本身没有面向对象概念,实现面向对象使用的是table类型
当函数内操作self时 相当于使用对象本身
比如最后几行那
self.count +self.count + 1
在代码运行到counter.inc 时 就会使 对象内的count变量 +1
具体用法
a = {}
setmetatable(a,{__index = counter}) --表a按照counter进行查询
a:inc() 或者 a.inc(a)
这里冒号并不是什么新的运算符 只是表示默认第一个self缺省
----------------------------------------------
get(self)表示
table下存在一个以"get"作为索引的值(在这里这个值是一个函数)
存在一个参数self
具体内容主要是涉及到面向对象的问题
一句两句是说不完的 推荐你去买本lua程序设计第二版 就是黄底红字那个 网购会很便宜 不到20块 或者下载一个电子版的 113页 元表与元方法
书上内容写的不多 但是要理解下来还是要好一段时间的
如果有兴趣 发个消息给我 我给你QQ 以后有问题可以交流
lua本身没有面向对象概念,实现面向对象使用的是table类型
当函数内操作self时 相当于使用对象本身
比如最后几行那
self.count +self.count + 1
在代码运行到counter.inc 时 就会使 对象内的count变量 +1
具体用法
a = {}
setmetatable(a,{__index = counter}) --表a按照counter进行查询
a:inc() 或者 a.inc(a)
这里冒号并不是什么新的运算符 只是表示默认第一个self缺省
----------------------------------------------
get(self)表示
table下存在一个以"get"作为索引的值(在这里这个值是一个函数)
存在一个参数self
具体内容主要是涉及到面向对象的问题
一句两句是说不完的 推荐你去买本lua程序设计第二版 就是黄底红字那个 网购会很便宜 不到20块 或者下载一个电子版的 113页 元表与元方法
书上内容写的不多 但是要理解下来还是要好一段时间的
如果有兴趣 发个消息给我 我给你QQ 以后有问题可以交流
展开全部
其实你需要的只是一本lua语言入门教程。
推荐Programming in Lua http://book.luaer.cn/
推荐Programming in Lua http://book.luaer.cn/
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询