一步一步学Ruby(十八):数组
2009-02-23 22:58 敏捷的水 阅读(4378) 评论(0) 编辑 收藏 举报一、数组定义和基本操作
1. 数组的定义和其它语言一样,Ruby里的数组并不限定类型.
x=[1,2,3,4] puts x[2] #输出3 x[2]+=1 puts x[2] #输出 4 x[2]="Jack"*3 #输出 JackJackJack
2. 数组可以不设初始值,可以使用<< 和pop的操作,后进先出
x=[] x<<"Jack" x<<"Tom" x<<"Crystal" puts x[2] #输出 Crystal x.pop puts x[x.length-1] #输出 Tom
3. 可以把数组连接在一起
x=["Jack","Better","Man"] puts x.join #输出 JackBetterManx=["Jack","Better","Man"] puts x.join(', ') #输出: Jack, Better, Man
4. 字符串拆分为数组
puts "Jack is better man".scan(/\w/).join(",") #输出 J,a,c,k,i,s,b,e,t,t,e,r,m,a,nputs "www.cnblogs.com".split(/\./).inspect #输出:["www", "cnblogs", "com"]Insepct是显示一个对象的变量,用P也可以http://blog.12spokes.com/articles/2008/03/15/
ruby-tip-stop-using-puts-object-inspect%E2%80%94use-p-instead
p "Jack Tom Crystal".split(/\s/) #输出 ["Jack", "Tom", "Crystal"]
二、数组方法
1.数组迭代
[1,"jack",2.0, 4].each{|x| print x.to_s+"!"} #输出 1!jack!2.0!4!
2.批量改变数组的值collect
p [1,"jack",2.0, 4].collect{|x| x*2} #输出: [2, "jackjack", 4.0, 8]
3.数组合并
a=[1,2,3] b=["jack","crystal"] c=a+b p c #输出: [1, 2, 3, "jack", "crystal"]
4. 数组相减
a=[1,2,3,4,5] b=[2,3] c=a-b p c #输出 [1, 4, 5]
5.检查数组是否为空
x=[] puts "It's empty" if x.empty? #输出: It's empty
6.检查数组是否包含某值
x=[1,2,3] puts x.include?("jack") #输出:false puts x.include?(2) #输出: true
7.first和last存取元素
x=[1,2,3,4] puts x.first #output: 1 puts x.last #output: 4 puts x.first(2).join("-") #output: 1-2 puts x.last(2).join("-") #output: 3-4
8. 反转数组
x=[1,2,3,4] puts x.reverse.inspect #output:[4, 3, 2, 1]
本文作者:王德水
未经同意,禁止转载
扫码关注公众号,了解更多管理,见识,育儿等内容
作者: 王德水
出处:http://www.cnblogs.com/cnblogsfans
版权:本文版权归作者所有,转载需经作者同意。
出处:http://www.cnblogs.com/cnblogsfans
版权:本文版权归作者所有,转载需经作者同意。