ruby學習之Array

來源:互聯網
上載者:User

標籤:

ruby中數組的大小是可以隨時改變的,數組中的元素只會儲存對對象的引用。

一、定義

a=Array.new()

a=Array.new(5)   建立5個nil元素的數組

a=Array.new(5,1) 建立5個初始值為1的數組

a=[]

a=[1,2,”a”]

%w(a b c d ab)用來建立字串數組,不過無法處理帶空格的字串

                      同[“a”,”b”,”c”,”d”,”ab”]

另外,可以用數組來並行賦值

a=1

b=2

可用 a,b=[1,2]代替

二、運算和常用方法

<<  追加,同ary.push(obj)

+  -  & | *

ary.size/ary.length

ary.concat(other_array)  追加數組

ary.clear

ary.delete(obj) 

ary.delete_at(index)

ary.delete_if{|item| block} 刪除合格元素

ary.first/ary.last

ary.compact   返回去除nil的副本

ary.flatten  數組的元素變為基本元素

ary.index(obj)  第一個等於obj的元素的索引

ary.insert(index,obj) 插入

ary.join(separator)  合并數組為一個用separateor連結的字串

ary.pop/ary.shift  刪除最後、最前

ary.push(obj)   追加

ary.replace(other_array)  替換為數組

ary.reverse  反轉

test:

#!/usr/bin/ruby def printResult(args)     print args     puts "" endprintResult [1,2]<<3 printResult [1,2]+[4,5] printResult [1,2]-[1] printResult [1,2,3]&[2,3,4] printResult [1,2,3]|[2,3,4] printResult [1]*5 printResult "#{[1,2].size()} #{[1,2].length()}" printResult [1,2].concat([2]) a=[1,2] a.clear() printResult a.length a=[2,3,4] printResult a.delete(3) printResult a printResult a.delete_at(0) printResult a printResult [1,2,3,4].delete_if{|item| item==1} a=[1,2,3,4,nil] printResult a.compact b=a.compact() a[1]=5 printResult b[1] printResult [1,2,[1,2]].flatten() printResult [1,2,3].index(2) printResult [1,3].insert(1,2) printResult [1,2,3].join("@@@") a=[1,2,3] printResult a.pop() printResult a a.shift() printResult a printResult a.push(2) printResult a.replace([nil,2,3]) printResult a.reverse()


result:

[1, 2, 3]
[1, 2, 4, 5]
[2]
[2, 3]
[1, 2, 3, 4]
[1, 1, 1, 1, 1]
2 2
[1, 2, 2]
0
3
[2, 4]
2
[4]
[2, 3, 4]
[1, 2, 3, 4]
2
[1, 2, 1, 2]
1
[1, 2, 3]
[email protected]@@[email protected]@@3
3
[1, 2]
[2]
[2, 2]
[nil, 2, 3]
[3, 2, nil]
[Finished in 0.1s]

三、搜尋、修改和排序迭代

     參照ruby之Enumerable

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.