开始

随笔分类 -  Ruby

摘要:Kernel#evel()方法和Object#instance_evel()、Module#class_evel()方法类似,evel()方法也是一个内核方法,Object#instance_evel()方法可以使调用对象为self,当前类为#self(当前对象的eigenclass),并且传递一个代码块访问self;Module#class_evel()方法则可以使调用者成为当前类,并在当前类中... 阅读全文
posted @ 2015-04-18 10:32 Lyon2014 阅读(371) 评论(0) 推荐(0)
摘要:在讨论对象模型时,对类做了初步了解,关于类本身,还有许多知识需要学习。类定义Ruby中,可以用class关键字或者Class.new方法来定义一个类,在Ruby中,类定义的同时就是在运行代码,类和方法、块一样,会返回最后一条语句的值,由于类也是一个对象(Class的实例),所以在类定义操作时,类本身就会充当self:result = class MyClass puts self "r... 阅读全文
posted @ 2015-04-13 23:42 Lyon2014 阅读(304) 评论(0) 推荐(0)
摘要:代码块在其他的语言中都或多或少接触过一些,如perl中sort{$a$b}keys,传入代码块实现按数值排序,在swift中用到闭包,更加深入学习到training closure、capturing value等代码风格,对代码块有了深入的了解,并且意识到代码块是引用类型(Reference Type),和Value Type有所区别,意识到代码块和类、方法等的相似之处。在学习Ruby的过程中,... 阅读全文
posted @ 2015-04-11 00:01 Lyon2014 阅读(287) 评论(0) 推荐(0)
摘要:作为一个动态语言,对象中的方法不会像静态语言一样需要验证确实存在,动态语言的对象之间一直保持着交谈,如果你调用一个不曾定义过的方法,程序也不会马上就报错而无法运行,只有当运行到你调用这个方法时,解释器会由于找不到该方法而无法继续解释。而在这之前,你可以在运行的过程中添加该方法。你甚至可以用一个方法来处理所有不曾定义过的方法,而做出某些反应。方法重复引用书上的一个例子,有一个报价系统,你需要从数据库... 阅读全文
posted @ 2015-04-06 14:01 Lyon2014 阅读(282) 评论(0) 推荐(0)
摘要:这两周工作内容较多,平时自己也有点不在状态,学的东西有点少了,趁着现在还有点状态,赶紧复习一下之前学习的Ruby吧。Ruby是我真正开始接触动态语言魅力的第一个语言,之前虽然也用过且一直用perl、python等脚本语言,但是只是作为unix shell的扩展(和工作有关),没有真正地审视动态语言的哲学。是《Ruby元编程》这本书,好像给我打开了一扇新世界的大门,书中介绍的每一个特性都让我兴奋地几... 阅读全文
posted @ 2015-04-06 00:52 Lyon2014 阅读(286) 评论(0) 推荐(0)