一步一步学Ruby(十八):数组

一、数组定义和基本操作

     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
#输出 JackBetterMan
x=["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,n
puts
 "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]
本文作者:王德水

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值