zoukankan      html  css  js  c++  java
  • 一步一步学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]
    本文作者:王德水
    未经同意,禁止转载
  • 相关阅读:
    Linux线程(一)
    模板(一)
    C++基础(八)
    C++基础(七)
    C++基础(六)
    C++基础(五)
    2.C#基础(二)
    1.C#基础(一)
    2.给出距离1900年1月1日的天数,求日期
    网络协议破解 SMTP
  • 原文地址:https://www.cnblogs.com/cnblogsfans/p/1396844.html
Copyright © 2011-2022 走看看