网站大量收购独家精品文档,联系QQ:2885784924

Ruby学习笔记.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Ruby学习笔记

Ruby学习笔记1. Ruby中首字母大写的方法:Integer、Float、String、Array。这些内置方法违反了Ruby方法名首字母必须是小写字母或_的规定。2. Ruby中定义类方法的两种方法:class Testdef self.classMethod2 #self也可以替换成Testendclass self #self也可以替换成Testdef classMethod3endendend总之,在class定义内,在函数定义之外,self指的是代表类的对象,如Test;而在函数定义之内,self指的是类的实例【由Test.new创建】。如果你使用module_eval函数的话,算是第三种方法。3. Ruby只要在执行过程中看到某个变量,那么该变量就定义了,例如:puts defined? x # = nil#puts x.class.name # undefined local variable or method `x for main:Object (NameError)if falsex=3endputs defined? x # = local-variableputs x.class.name # = NilClass4. Ruby和Javascript一样是基于原型的语言,也就是说一切概念都是对象。Ruby的类是Class类的实例,Ruby的模块是Module的实例。Ruby的类定义和模块定义都是可执行代码,因此它的类和模块是运行时创建的,而且Ruby无论是内建类还是用户类永远都是开放的,你永远都可以向一个类里添加函数或修改函数。Javascript的一切都是对象,函数也是Function类的对象。Javascript的对象永远是开放的,可以自由添加属性和方法。因此Ruby和Javascript一样,是高度动态的语言。Javascript是巧妙的、朴素的、强大的,Ruby是精致的、复杂的、强大的。5.Ruby的private方法是指调用时receiver必须为self的方法,也就是说你使用self调用某个方法时,那么该方法可以是private方法。到目前为止,你可能觉得这是废话,我只能举例子让你大吃一惊了。class Classprivate@@mod_comments = {}def doc=(comment)@@mod_comments[self.name] = commentendpublicdef docputs self.name@@mod_comments[self.name]endendclass Oneself.doc= This is one example.endclass Anotherself.doc= This is another example.endputs One.docputs Another.doc输出:OneThis is one example.AnotherThis is another example.可见private方法也可以在类定义之外调用。因为One和Another是Class的实例,所以它们可以在它们的定义中调用Class的私有方法。再举一个例子,在派生类中调用基类的私有方法。class Baseprivatedef printputs Baseendendclass Derive Basedef displayprintputs Deriveendendd = Derive.newd.display输出:BaseDerive6. Ruby类的实例变量创建方式:当Ruby解释器在第一次看到一个以@开头的名字时就在当前对象即self对象上面创建一个实例变量,而不需要像C++或 Java那样在类定义里面声明。这一点和Javascript也是很像的,你可以在任意的地方给一个对象增加任意属性。这也是Ruby和 Javascript为什么那么动态的一个原因。7. Ruby类的实例变量都是私有的,必须要定义访问方法才能在外部读写。也就是说访问控制符只是用来修饰方法的。8. 【这条是我的猜测,不保证正确】Ruby代码的执行是一遍的,当然执行之前解释器需要分析代码。Javascript的执行是两遍的,当然执行之前也会分析代码,Javascript在第一遍时收集全局变量和全局函数的定义,第二遍时再逐句解释代码。所以Javascript可以调用后面定义的函数,而 Ruby不能,举例如下:var result = sum(1,2,3);//调用了后面定义的sum函数。document.write(result);function sum(){var sum = 0;for(var i=0; iarguments.length; ++i)sum += argume

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档