Ruby-Array數組

來源:互聯網
上載者:User

標籤:

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 # [(+ <<,並集包含重複)(|,並集不包含重複)] [&,交集] [-,差集]

Ruby-Array數組

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.