现在我们在 Person 类中使用 extend 关键字来调用模块,使用相关方法,并且打印出相关信息。
我们由 Person.introduce 和 Person.current_time 可以观察出来 extend 关键字的作用是为 Person 添加了2个类方法。
上面两个类调用的方法都报错了可以看出, include 和 extend 相反, include 是为类中添加的实例方法,而不是类方法。
prepend 和 include 同样都是为类中添加实例方法,但不同之处在于,引入模块后的方法链会有一点区别
我们先看看 include 的方法链
再看看 prepend 的
可以看出 FooModule 和 Person 的顺序有什么不同,那么具体不同体现在哪,接下来我们调用方法就可以看出区别了。
include
prepend
可以看到,如果使用 prepend 的话我们会优先去查找 FooModule 中的 introduce 方法(如果 FooModule 没有 introduce 方法话,会依次去祖先链的上一级去查找 introduce 方法),而 include 是优先在 Person 中去查找。
Ruby是非常流行的构建网站技术,最著名的是Twitter,Basecamp,Github,Airbnb,Slideshare,Groupon。Rbuy和Python都是面向对象的语言,都是动态和灵活的,这些技术的主要区别在于他们解决问题的方式。Ruby提供了不同的方法。
最流行的Ruby框架是Ruby on
rails,它和Django非常类似,因为这两个框架都是为了解决相同的任务。如果我们比较这些技术的社区,你会意外的发现他们是一样的,然而形成这些团体的人是不同的。Python在数据科学和数学方面很受欢迎,你可以找到很多的引导者。
当你开发Web应用程序时,可以用RoR实现,也可以用Django,两者都是非常快速高效的,如果开发偏重于大量计算和数据处理的应用,则可以选择Python。
Python的支持者是世界上规模最大和构成最多样化的一个团队,不仅有数以千计的个人开发者,同时还有诸如谷歌、yandex、Dropbox、Mozilla、微软等巨头公司,他们和其他公司一起,已经用Python创建了世界最大的和最受欢迎的项目。
与Rbuy相比,Python更加流行,目前已广泛应用于人工智能、云计算开发、大数据开发、数据分析、科学运算、网站开发、爬虫、自动化运维、自动化测试等领域,就业范围广,薪资待遇高,且入门简单、语法清晰。
豆瓣http://www.douban.com/group/topic/46948882/?cid=579722942
知乎
http://www.zhihu.com/question/21480874/answer/19170340
然后再跟你说一下,我的观点。
如果你是为了现在就找工作,而去学习的话。毫无疑问 第一Python,然后在考虑 Ruby。
如果你现在比较悠闲,只是为了学一门语言,暂时不考虑将其作为工作的话。
必须 Go语言。
Go语言的前景广大。可能二、三年迅速就火起来了。
其实说到底,语言这东西,只是一个工具而已。认准一个,看懂弄透,其他的语言也就触类旁通了。
程序=数据结构+算法。语言只是一直工具~~~ 切记,切记。