Ruby学习总结.docx

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Ruby学习总结第一章1.3.1 换行符与\目标输出hello,ruby!程序可以写print(“hello,\n ruby\n!\n”)也可以这么写print(“hello,ruby!”)两种输出相同,但第一种比第二种效率要高。1.3.2 ‘’与“”单引号会原封不动的把转义字符输出 print(‘hello,\n ruby\n!\n’)输出结果 hello,\n ruby\n!\n 在单引号里file:///\\转义为\\\转义为\1.4 方法调用方法调用可以省略(),也可以用逗号,表示输入多个参数。1.7中文使用中文使用#encoding:例如 #encoding:GBK1.9变量使用#{}在双引号字符串中放入变量area =’中国’print ‘我是#{area}人’ 输出:我是中国人第二章2.1.7数组的循环数组.each do |变量|endexample:names = [“小林”,”小Y”]names.each do |name| print #{name} \nenddo ~end之间部分称为块,块的另一种写法names.each {|name| print #{name} \n}2.2散列address = {name:高桥,pinyin:gaoqiao,:postal =123456}2.2.1符号创建符号,只需要在标识符的开头加上:就可以了。符号与字符串之间的区别1. 字符串和符号,都是Ruby中表示文本的方式不管字符串变量也好,符号变量也好,都是用来表示文本的,它们之间,也可以互相转换(通过to_sym和to_s): book.to_sym= :book :track.to_s= track2. 相同的符号是一个对象,相同的字符并不一定是一个对象这就是符号和字符串最大的差别,符号是不可变的,不能对一个符号进行修改。所以说,两个看起来相同的符号一定是一个对象,但是说两个看起来一样的字符串是一个对象,就不对了。这里,我们用 equal? 方法检验这一点,当两个对象相同时,equal? 返回true,反之是false: :book.equal?(:book)= true book.equal?(book)= false3. 处理符号相比字符串,占用更少的资源这也就是为什么有些时候我们要使用符号的原因,由于字符串变量必须具有各种修改其内容的功能,所以字符串的维护和处理的开销就很大,但是有些时候,我们并不需要修改和处理创建的文本信息,这个时候用符号再好不过了。比较典型的用法,就是在Rails中,用符号来指代散列中的参数名称:% for article in @articles -% %= link_to article.title, :controller = article, :action = show, :id = article.id %% end -%反之,如果我们把 :controller 写成controller,把 :action 写成action,吧 :id 写成id,每一个循环都要创建3个新的字符对象,但是我们又不需要对这些字符串进行修改操作,白白添加了很多处理器开销,而且写成符号的形式更加简练,可以更容易分别出参数和值,何乐而不为呢。2.2.2 散列的创建address= {“name”=高桥,pinyin:gaoqiao,:postal =123456}对象方式:对象(键)=对象(值) 例如: “name”=高桥符号两种写法:1、pinyin: gaoqiao2、:postal =1234562.2.3 散列的使用散列名[键] = 希望保存的对象 2.2.4散列的循环散列.each do |key ,value|//do some thingend散列.each {|key,value|//do some thing}第四章对象、变量和常量4.3 变量变量的命名方式决定了变量的种类局部变量 以英文字母或者_开头全局变量以$开头实例变量以@开头类变量以@@开头类变量被类的所有对象所共享,它与类方法相关联,对一个给定的类来说,类变量只存在一份拷贝。类变量由两个@符开头,例如@@count。与全局变量和实例变量不同,类变量在使用之前必须被初始化。通常,初始化就是在类定义中的简单赋值。例如,我们的点唱机可能希望记录每首歌被播放的次数。这个数目可能是Song对象的一个实例变量。当一首歌被播放时,实例中的值增加。但是,假如我们还想要了解下一共播放了多少首歌。通过搜索所有Song对象并累加它们的播放次数,或者冒天下之大不韪使用全局变量来完成统计;或者,让我们使用类变量。class Song @@plays = 0 def initialize(name.artist,duration) @nam

文档评论(0)

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

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

1亿VIP精品文档

相关文档