Lua中require用法二及仿面向对象式编程 lua require 相对路径
分类: lua c/c++ require 2012-07-24 17:07 3484人阅读 评论(0) 收藏 举报
luafunction语言工具编程设计模式
为了感谢昨天忠实读者,今天赶快在贴出今天又研究通的一些关于require的用法,这个是本质的用法,同时给大家一个lua面向对象思想的例子,闲话不多说了,目录结构还和上一篇一样:
我们可以看到require这个工程下面有两个lua文件,大家一定很奇怪上次的c++文件哪去了,这次顺便给大家推荐个lua的调试工具luaEdit2010,我的资源中也有,贴个连接http://download.csdn.net/detail/xueyunf/4448421这里是下载地址,这个工具可以方便大家去调试和编写lua代码。这个工具可以加入断点让我们可以快速定位错误在什么地方。
先附上main.lua的代码:
package.path = package.path..";F:\lua\require\?.lua"
print(package.path)
local requiredpackage = require ("Berequired")
print(tostring(requiredpackage))
function Vprint()
print("main print!")
end
Vprint()
--[[
下面下面是对complex这个类的调用
]]
local requirecomplex = {}
requirecomplex = complex;
requirecomplex.Vprint();
然后附上Berequired.lua的代码:
--下面是个私有函数
local function myPrivateFunction()
print("this is a private function!")
end
--下面是个公有接口
function Vprint()
myPrivateFunction()
print("this is a public function!")
print("This is a required package!")
end
--标识类名
complex = {Vprint = Vprint}
这样调用才是发明语言者提出require这个关键词的本意,下面贴出我的luaEdit的截图:
当然又被大家发现了,注释是我后加上的,呵呵,为了看代码的人便于理解,所以给大家一些提示,当然我说的东西在lua程序设计这本书中都有,只是我们可以看到,书太旧导致我不得不去官网看最新的英文资料,然后根据自己的理解然后去写代码,你一定想说这个东西的输出在哪?虽然看到了它极其类似vs2010的样子。于是我决定再给大家贴个图:
好吧,图有点大,显示在这好像不清晰,大家将就着看吧,正如我前面的关于编程范式的理解中说到的,其实每种语言都可以进行编程范式的设计,只要你愿意,:-)。
看本文需要特别注意,前提是你已经会配置和编译lua环境,当然这课的代码在前面的编译和调试环境中也是可以的,你喜欢哪种调试工具就使用哪种,每种工具都是OK的。
工具不是问题。
小提示:
1.那个complex必须放在最后,习惯c++或者其他面向对象语言者可能无法理解这个,这是由于lua继承了c的做法。
2.私有函数不是真正的私有,只是用作用域对其做了类似的限定。
3.公有接口也不是面向对象语言中的那样,我们只是做一些类似模拟而已。真正的面向对象还是面向过程完全在你心中,也就是说真正的核心是你的大脑来管理这些代码。
愿意看到这里朋友,首先恭喜你们,因为接下来的说的东西是程序的灵魂,
1:试想你若要管理拥有一个庞大的lua代码项目,而这些代码没有好的风格该怎么办?这正是前面写出这种风格的作用。
2:用这个模式你也可以建立一个自己的lua王国,去给自己留下一些可以复用的代码。
3:未来lua不会成为大众语言,但是他会成为c++和c的好伙伴,lua本身决定它不是为了独当一面,所以怎样利用设计模式和编程范式将它和其他语言结合是关键性的东西。
4:lua不是为了高性能计算用的东西,所以不要用来进行大型计算的核心部分,做它该做的事。每门语言都是这样的。
5:lua的用法以及其在大型程序中的应用暴雪给出了很好的例子,我们只要去理解那些程序lua用来做什么角色,自然会将它使用到最合适的地方。
6: 最重要的是忘了你以前学过的语言,好好把它理解融汇贯通。
更多阅读
MYSQL中between用法 between的用法
MYSQL中between用法:表如下:SQL语句:select * from org where orgId between 1 and5表明:mysql中的between包含两端值
无意中听说《二女一指、儿女一杯》——这个世界太疯狂_zlmokok okoksm
无意中听说《二女一指》、《儿女一杯》,好奇心促使我去看看这到底是什么,百度一下:知道没有,百科没有,隐隐知道那一定是不和谐的东东,而后又看到论坛里的热议,才了解这大概是什么内容,本来想鼓足勇气挑战一下自己的胃,可是看了各种肤色、各个
他妈的中田浩二!!!! 矢野浩二死亡现场
他妈的中田浩二!!!! 你妈怎么这么贱格!!!我愿他们是进化不完全的生命体,基因突变的外星人, 幼稚园程度的高中生,先天蒙古症的青蛙头, 圣母峰雪人的弃婴,化粪池堵塞的凶手, 非洲人搞上黑*的后裔,阴阳失调的黑猩猩,
铁路基层站段当前职工思想动态分析中存在的问题及解决对策 基层巡视研究与对策
铁路基层站段当前职工思想动态分析中存在的问题及解决对策铁路基层站段职工思想动态分析,是新形势下铁路企业思想政治工作对安全生产环节的提前介入、源头防范的重要措施。通过扎实缜密的职工思想动态分析,可以密切掌握职工的思想变
京胡、二胡、板胡、高胡、中胡的简介及异同 高胡和二胡
京胡、二胡、板胡、高胡、中胡的简介及异同1、二胡:二胡是胡琴类中流行最广、最具有代表性的一种乐器。它的音色柔美,富于表现力。可用于独奏、重奏、合奏。在民族管弦乐中,二胡处于重要地位。高胡:高胡是拉弦乐器中的高音乐器。它比