zoukankan      html  css  js  c++  java
  • Ruby-Array数组

    1、创建数组

    a=Array.new(6,obj=nil)  #=> [nil, nil, nil, nil, nil, nil] 设置默认值
    a=Array.new(6)           #=> [nil, nil, nil, nil, nil, nil] 默认值为nil
    a=Array.new(6,obj=1){|obj| obj+1}  #=> [1, 2, 3, 4, 5, 6] 默认值进行块里面的迭代
    a=%w{1 2 3 4 5 6}     #=> [1, 2, 3, 4, 5, 6]
    a=[1, 2, 3, 4, 5, 6]      #=> [1, 2, 3, 4, 5, 6]

    2、数组操作

    require 'iconv'

    methods=[
      ["a","数组"],
      ['a.length',"长度"],
      ['a[-1]','倒数第一个'],
      ['a[10]','超出数组的长度下标都表示nil'],
      ['a[2,3]','表示下标从2开始的连续3个数组段'],
      ['a[1..3]','表示下标从1到下标3的数组段'],
      ['a[1..3]','表示下标从1到下标2的数组段,不包含最后一个数'],
      ['a.delete_at(0)','把第一个元素给删除了'],
      ['a.insert(0, 1)','把1插入到数组开始处'],
      ['a.slice!(1, 2)','(slice)表示获取下标1开始的2个元素不删除,(slice!)获取完后删除元素'],
      ['a<<7','添加到数组末尾 同 a.push(7)'],
      ['a.pop(2)','删除末尾2个元素  同 a.slice!(-1,2)'],
      ['a.shift(2)','删除前面两个元素 同 a.slice!(0,2)'],
      ['a.unshift(1,2)','前面插入两个元素 同 a.insert(0, 1,2)'],
      ['a=[0]+a','[(+ <<,并集包含重复)(|,并集不包含重复)] [&,交集] [-,差集]'],
      ]
    methods.each { |method| puts "#{method[0]} => #{eval(method[0])} # #{Iconv.conv("GB18030","UTF-8",method[1]) }" }

    为了达到输出这种格式  “a => 123456 # 数组”而又不用每个去格式化,所有可以利用ruby的 eval动态执行代码,由于有中文所以用到了

    Iconv.conv 方法转码。

    输出如下

    a => 123456 # 数组
    a.length => 6 # 长度
    a[-1] => 6 # 倒数第一个
    a[10] =>  # 超出数组的长度下标都表示nil
    a[2,3] => 345 # 表示下标从2开始的连续3个数组段
    a[1..3] => 234 # 表示下标从1到下标3的数组段
    a[1..3] => 234 # 表示下标从1到下标2的数组段,不包含最后一个数
    a.delete_at(0) => 1 # 把第一个元素给删除了
    a.insert(0, 1) => 123456 # 把1插入到数组开始处
    a.slice!(1, 2) => 23 # (slice)表示获取下标1开始的2个元素不删除,(slice!)获取完后删除元素
    a<<7 => 14567 # 添加到数组末尾 同 a.push(7)
    a.pop(2) => 67 # 删除末尾2个元素  同 a.slice!(-1,2)
    a.shift(2) => 14 # 删除前面两个元素 同 a.slice!(0,2)
    a.unshift(1,2) => 125 # 前面插入两个元素 同 a.insert(0, 1,2)
    a=[0]+a => 0125 # [(+ <<,并集包含重复)(|,并集不包含重复)] [&,交集] [-,差集]

  • 相关阅读:
    大小写敏感性
    Select的深入应用(1)
    SQL模式匹配
    返回日期和时间范围
    利用枚举管理事务逻辑
    自动记录数据的改变时间
    操作日期和时间
    关于Rational Functional Tester (RFT)的简单介绍
    html布局 左右固定,中间只适应,三种方法实现
    js混合计算字符串字节长度
  • 原文地址:https://www.cnblogs.com/yangleiWPF/p/4451469.html
Copyright © 2011-2022 走看看