Programming Ruby读书笔记(二)

1.再谈ruby数组。 class Test

 a = [1, 3, 5, 7, 9]
 puts a[0]     #----->1
 puts a[-2]    #----->7
 puts a[1, 3]   #----->[3, 5, 7]
 puts a[-3, 2]   #----->[5, 7]
 puts a[1..3]   #----->[3, 5, 7]
 puts a[1...3]   #----->[3, 5]
 
 a[2] = 'cat'   #----->[1, 3, "cat", 7, 9]
 a[3, 2] = 'dog'  #----->[1, 3, "cat", "dog"]
 a[3, 1] = 'bee'  #----->[1, 3, "cat", "bee"]
 a[3, 0] = 'bat'  #----->[1, 3, "cat", "bat", "bee"]
 a[0...2] = []   #----->["cat", "bat", "bee"]
 a[4..5] = 99, 98 #----->["cat", "bat", "bee", nil, 99, 98]
  
end

数组的一些常用方法:

class Test
 
 a = [0, 1, 2, 3, 4]
 b = Array.new(5) { |i| i * i }  #---------->[0, 1, 4, 9, 16]
 c = a & b             #---------->[0, 1, 4]
 d = a - b             #---------->[2, 3]
 e = a + b             #---------->[0, 1, 4, 2, 3]
 f = c[0..1] << d << c[2]     #---------->[0, 1, 2, 3, 4]
 
 a.collect! { |x| x + 1 }     #---------->[1, 2, 3, 4, 5]
 a[6..7] = 7, 8          #---------->[1, 2, 3, 4, 5, nil, 7, 8]
 a.delete(7)            #a--------->[1, 2, 3, 4, 5, nil, 8]
 a.compact!            #---------->[1, 2, 3, 4, 5, 8]
 a.push 9             #---------->[1, 2, 3, 4, 5, 8, 9]
 a.pop               #---------->[1, 2, 3, 4, 5, 8]
 m = a.last(3)           #---------->[4, 5, 8]
 m.join("-")            #---------->"4-5-8"
 n = a.first(2)          #---------->[1, 2]
 n.unshift(-1, 0)         #---------->[-1, 0, 1, 2]
 n.shift              #---------->[0, 1, 2]
  
 t = %w{ a b c d }
 t.insert(2, 99)          #---------->[a, b, 99, c, d]
 t.insert(-2, 1,2,3)        #---------->[a, b, 99, c, 1, 2, 3, d]
 t.insert(-1, "e")         #---------->[a, b, 99, c, 1, 2, 3, d, e]
 
end

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数组
, insert
, bat
, cat
, 5.7.9
, puts
, nil
c1.4.2
programming ruby、programming ruby pdf、programming ruby 4th、programming ruby下载、读书笔记,以便于您获取更多的相关知识。

时间: 2024-10-30 17:37:22

Programming Ruby读书笔记(二)的相关文章

Programming Ruby读书笔记(四)

Ruby正则表达式 三种表示方法: Regexp.new('^s*[a-z]') /^s*[a-z]/ %r...{^s*[a-z]} 测试代码: def show_reqexp(a, re) if a =~ re "#{$`} << #{$&} >> #{$'}" else "no match" end end puts show_reqexp("Fats Waller", /ll/) 结果:Fats Wa &l

Programming Ruby读书笔记(三)

Ruby的标准类型: A.数字 class Test 3.times { print "X " } 1.upto(5) { |i| print i, " " } 99.downto(95) { |i| print i, " " } 50.step(80,5) { |i| print i, " " } a = "23" b = "34" puts " " puts a

Programming Ruby读书笔记(一)

1. 成员变量的读写属性: attr_reader 和 attr_writer class Test def initialize(name) @name = name end attr_reader :name attr_writer :name end test = Test.new("AAA") puts test.name test.name = "BBB" puts test.name 如果不使用这2个关键字,则按照Java的风格这样写 class Tes

《淘宝技术这十年》读书笔记 (二).Java时代的脱胎换骨和坚若磐石

        马云说过"一个好的东西往往是是说不清楚的",姑且不论这句话的对与错.但我真的很佩服<淘宝技术这十年>这本书的作者子柳,能够通过淘宝的一些故事,按照时间顺序和IT发展的各种技术描述清楚,而且过程中读起来非常有意思.         该读书笔记中参杂了很多原文的知识,因为我实在无法割舍,都挺有意思的:同时记录一些有用的知识,通过这本书能介绍些学过的知识或面试中可能出现的题目及作者所思,文章还是非常有趣的,希望对大家有所帮助! 一. Java时代 脱胎换骨    

asp.net 2.0揭秘读书笔记二:使用Rich控件

Rich控件主要包括: (1)FileUpload控件 (2)Calender控件 (3)Adrotator控件 (4)Multiview控件 (5)Wizard控件 本笔记主要讲了FileUpload控件的简单用法. 1. FileUpload控件用于用户向web应用程序上传文件. (1)把文件保存到文件系统 在FileUpload控件浏览选择好本地要上传的文件后,点击确定按钮进行上传,代码如下所示: protected void Button1_Click(object sender, Ev

《Java极限编程》(Java Tool for Extreme Programming)读书笔记 (4)

笔记|编程 第四章 使用Ant进行持续整合这一章是对Ant的一个基础介绍,包括1.Ant构建文件 build.xml2.项目 <project name="myproject" default="all" basedir=".">3.目标 <target name="all" depends="clean, fetch, build, test, docs, deploy">Stev

《Java极限编程》(Java Tool for Extreme Programming)读书笔记 (2)

笔记|编程 第二章 J2EE部署其实这一章所讲的作为一个JAVA开发人员,尤其是J2EE开发人员,是几乎可以跳过的,因为这是基本常识,都应该懂.不过有点满有意思的: 原来只知道这样:<applet code="xptoolkit.applet.HelloWorldApplet"         archive="helloapplet.jar" width=200 height=200></applet> 没想到还能这样:<object

Ruby学习笔记二 使用Ruby实现通过Proxy的方式请求网页

现在很多网站上某些活动都有限制同一IP只能投一票的规定,但是有时候迫于 压迫,又不得不想办法多投几票,以前是采用Apache里的HttpClient来实现这些功 能,日前正在看Ruby,就用它也来玩下: require 'net/http' ##获得网页内容 def query_url(url) return Net::HTTP.get(URI.parse(url)); end #抓取cnproxy上所有的代理列表,并将结果保存到proxy.txt中去 #你可以修改这块代码或者其他的代理服务器列

《C++ primer plus》读书笔记(二)_C 语言

第五章 1.for循环--for(initialization; test-expression; update-expression) body // test-expression 会被转换为bool,0为false,非零为true 2.表达式--表达式是值或值与运算符的组合.赋值表达式的值为其左侧成员的值,而赋值运算符是从右到左结合的. 3.a++和++a-- (1)对于内置类型,两种执行效率相同. (2)若重载运算符,对于类而言,前缀将值加1,返回结果:后缀会复制一个副本,加1后返回副本