• Ruby 数组


    city=["北京","上海","天津","重庆"]
    puts city
    city=Array.new
    city[0]="北京"
    city[1]="上海"
    city[2]="天津"
    city[3]="重庆"
    puts city

    city=["北京","上海","天津","重庆"]
    city[4]="香港"
    puts "数组的长度为:"+city.size.to_s
    puts city
    puts "第二个元素为:"+city[1]
    puts "最后一个元素为:"+city[-1]

    city=Array.new
    city[2]="香港"
    puts "数组的长度为:"+city.size.to_s
    puts city

    str="深圳"
    city_1=%W{北京 上海 天津 重庆 杭州 南京 #{str}}#使用%W{...}进行转换
    puts city_1.size
    puts city_1
    city_2=%w{北京 上海 天津 重庆 杭州 南京 #{str}}#使用%w{...}进行转换
    puts city_2

    college=["北京大学","清华大学"]
    college.unshift("浙江大学","复旦大学")    #向数组头部添加元素列表
    college.push("南京大学","武汉大学")       #向数组尾部添加元素列表
    college<<"南开大学"                       #向数组尾部添加一个元素
    puts college.size.to_s
    puts college
    puts college.pop                          #删除并获取数组最后一个元素
    puts college.shift                      #删除并获取数组第一个元素
    puts college.size.to_s
    puts college
    puts college[2,3]                       #截取从索引2开始,长度为3的元素列表
    puts college[2..3]                      #截取从索引2开始,到索引3的元素列表
    puts college[2...3]                     #截取从索引2开始,到索引3(不包括)的元素列表

    city_1=["北京","上海","天津"]
    city_2=["重庆","香港"]
    city_3=city_1+city_2
    puts city_3.size.to_s
    city_1.concat(city_2)
    puts city_1.size.to_s

    a=Array.new
    p a

    a=Array.new(5)
    p a

    a=Array.new(5,0)
    p a
    #lang=%W(a b c)
    lang=%W{a b c}
    p lang

    h={"a"=>"b","c"=>"d"}
    p h.to_a

    s="ab cd efg"
    a=s.split(" ")
    p a
    #p a.include?("ab")
    #a.each_with_index do |b,i|
    #  p b
    #  p i
    #end
    #h = {:aaa => "bbb", :ccc => "ddd"}
    #h.each_key do |key|
    #  p h[key]
    #end
    #h.replace({:a => "b", :c => "d"})
    #p h
    #t = Time.now
    #p t.strftime("%y")

    a=[1,2,3,5,7,9]
    b=[2,4,6,8,10]
    #两数组相连
    p (a+b)
    #a数组中的元素减去b数组中与之相同的元素
    p (a-b)
    #(并集)除去两个数组中相同的元素
    p (a|b)
    #(交集)只有两个数组中都相同的元素
    p (p&b)

    a=[1,2,3,2]
    a.delete(2)           #删除所有与X相同的元素
    p a

    a=[1,2,3,2]
    a.delete_at(3)        #删除第n个元素
    p a

    a=[1,2,3,4,5,6,7,8,9,10]
    a.slice!(1,5)         #删除数组中第几到第几个之间的所有数据
    p a

    a=[1,2,3,4,5,6,7]
    a[1..6]=[4,5,6,7,8,9]   #a[n..m]方法可以选择改变数组
    p a

    a=[1,2,3,4,5,6,7,8,9]
    a.each(){|s| p s}
    a.each_with_index do |c,i|
       puts "#{i}  :  #{c}"
      puts (c+i).to_s
    end

    a=[[1,2],[2,3],[3,4],6]
    p a.flatten

    s = [ 1, 2, 3 ]           #=> [1, 2, 3]
    t = [ 4, 5, 6, [7, 8] ]   #=> [4, 5, 6, [7, 8]]
    a = [ s, t, 9, 10 ]       #=> [[1, 2, 3], [4, 5, 6, [7, 8]], 9, 10]
    puts   a.flatten                 #=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    a = [ 1, 2, [3, [4, 5] ] ]
    puts a.flatten(1)              #=> [1, 2, 3, [4, 5]]
    puts a.flatten                #=> [1, 2, 3, 4, 5]

    a=[1,1,2,2,3,3]
    p a.uniq                      #去掉重复的元素

    arr=[9,8,7,1,2,5,3]
    p arr.sort                    #=> [1, 2, 3, 5, 7, 8, 9]
    p arr                         #=> [9, 8, 7, 1, 2, 5, 3]
    p arr.sort!                   #=> [1, 2, 3, 5, 7, 8, 9]
    p arr                         #=> [1, 2, 3, 5, 7, 8, 9]
    p arr.sort{|a,b| b<=>a}

    []
    [nil, nil, nil, nil, nil]
    [0, 0, 0, 0, 0]
    ["a", "b", "c"]
    [["c", "d"], ["a", "b"]]
    ["ab", "cd", "efg"]
    [1, 2, 3, 5, 7, 9, 2, 4, 6, 8, 10]
    [1, 3, 5, 7, 9]
    [1, 2, 3, 5, 7, 9, 4, 6, 8, 10]
    false
    [1, 3]
    [1, 2, 3]
    [1, 7, 8, 9, 10]
    [1, 4, 5, 6, 7, 8, 9]
    1
    2
    3
    4
    5
    6
    7
    8
    9
    0  :  1
    1
    1  :  2
    3
    2  :  3
    5
    3  :  4
    7
    4  :  5
    9
    5  :  6
    11
    6  :  7
    13
    7  :  8
    15
    8  :  9
    17
    [1, 2, 2, 3, 3, 4, 6]
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    1
    2
    3
    4
    5
    1
    2
    3
    4
    5
    [1, 2, 3]
    [1, 2, 3, 5, 7, 8, 9]
    [9, 8, 7, 1, 2, 5, 3]
    [1, 2, 3, 5, 7, 8, 9]
    [1, 2, 3, 5, 7, 8, 9]
    [9, 8, 7, 5, 3, 2, 1]

  • 相关阅读:
    第三章 函数式编程中的异常处理
    第二章 函数式数据结构
    android 轮播图
    模仿qq列表信息滑动删除效果
    android绘制圆形图片的两种方式
    android图片验证码--自绘控件
    MPAndroidChart 3.0——LineChart(折线图)
    提交本地项目到github服务器
    android 帧动画,补间动画,属性动画的简单总结
    android AsynTask处理返回数据和AsynTask使用get,post请求
  • 原文地址:https://www.cnblogs.com/mingforyou/p/2615213.html
Copyright © 2020-2023  润新知