=begin
數(shù)組,是有序的,基于整數(shù)引索的任意對(duì)象的集合;索引起始為0 -1為最后一個(gè)元素
=end
#數(shù)組的用法----如何獲取數(shù)組中的元素
arr = [1, 2, 3, 4, 5, 6]
arr[2] #輸出第三個(gè)數(shù)組中的元素:3
arr[100] #無(wú)法輸出超出數(shù)組長(zhǎng)度的元素:nil
arr[-3] #輸出倒數(shù)組中數(shù)倒數(shù)第三的元素:4
arr[2,3] #輸出從第三個(gè)元素開(kāi)始三個(gè)長(zhǎng)度的元素:[3,4,5]
arr[1 .. 4] #輸出包括第二個(gè)元素到第五個(gè)之間的所有元素:[2,3,4,5]
arr[1 .. -3] #輸出包括正數(shù)第二個(gè)元素到到倒數(shù)第三個(gè)元素之間的所有元素:[2,3,4]
arr.at(0) #輸出數(shù)組中第一個(gè)元素:1
arr.fetch(1) #輸出數(shù)組中第二個(gè)元素:2
arr.take(3) #輸出數(shù)組中前三個(gè)元素:[1,2,3]
arr.drop(3) #丟棄數(shù)組中前三個(gè)元素后剩下的元素,不會(huì)修改數(shù)組本身:[4,5,6]
#數(shù)組的用法----獲取數(shù)組的信息
arr.length #輸出數(shù)組中元素的長(zhǎng)度(個(gè)數(shù)):6
arr.count #輸出數(shù)組中元素的個(gè)數(shù)(長(zhǎng)度):6
arr.empty? #判斷數(shù)組是否為空:false
arr.include?(6) #判斷該對(duì)象是否為數(shù)組中的元素:true
#修改數(shù)組----向數(shù)組中增加元素
arr = [1, 2, 3, 4]
arr.push(5) #向數(shù)組末尾插入一個(gè)元素:[1,2,3,4,5]
arr << 6 #同上,向數(shù)組末尾插入一個(gè)元素:[1,2,3,4,5,6]
arr.unshift(0) #在數(shù)組的起始位置插入一個(gè)元素:[0,1,2,3,4,5,6]
arr.insert(3, "heiheihei") #在數(shù)組第三個(gè)元素后面插入一個(gè)元素,使之成為第四個(gè)元素,新元素索引位置為3:[0,1,2,"heiheihei",3,4,5,6]
arr[8] = 7 #在索引位置為8的位置插入(修改)一個(gè)元素:[0,1,2,"heiheihei",3,4,5,6,7]
#修改數(shù)組----刪減數(shù)組中的元素
arr = [1, 2, 3, 4, 5, 6]
arr.pop #刪除數(shù)組的最后一個(gè)元素:[1,2,3,4,5]
arr.shift #刪除數(shù)組中的第一個(gè)元素:[2,3,4,5]
arr.delete_at(2) #刪除數(shù)組中索引位置為2的元素,:[2,3,5]
arr.delete(2) #刪除數(shù)組中的元素2:[3,5]
arr = [1, 1, 2, 2, 3, 3, nil]
arr.uniq #刪除數(shù)組中重復(fù)的元素并輸出,不會(huì)修改數(shù)組本身:[1,2,3,nil]
arr.compact #刪除數(shù)組中顯示出的nil元素并輸出,不會(huì)修改數(shù)組本身:[1,1,2,2,3,3]
#數(shù)組的用法----遍歷數(shù)組
arr = [1, 2, 3, 4, 5, 6]
arr.each{ |x| puts x } #按順序遍歷數(shù)組中的元素(方法一): 1\n2\n3\n4\n5\n6\n
arr.each do |x|
puts x
end #按順序遍歷數(shù)組中的元素(方法二):1\n2\n3\n4\n5\n6\n
arr.reverse_each { |x| puts x } #逆序遍歷數(shù)組中的元素:6\n5\n4\n3\n2\n1\n
arr.map { |x| x * 2 } #接受一個(gè)塊,對(duì)特定的元素進(jìn)行單獨(dú)的操作,需要賦值給一個(gè)新的變量,不會(huì)修改數(shù)組本身:[2,4,6,8,10,12]
arr.select { |x| x > 4 } #在數(shù)組中篩選出值大于4的的元素,需要賦值給一個(gè)新的變量,不會(huì)修改數(shù)組本身:[5,6]
arr.reject { |x| x > 4} #在數(shù)組中篩掉值大于4的元素,需要賦值給一個(gè)新的變量,不會(huì)修改數(shù)組本身:[1,2,3,4]
arr = [1, 2, 3, 4, 3, 2, 1]
arr.drop_while { |x| x < 3 } #刪除最先一次數(shù)組中滿(mǎn)足條件的的元素,不會(huì)修改數(shù)組本身:[3,4,3,2,1]
arr.delete_if { |x| x < 3 } #刪除數(shù)組中所有滿(mǎn)足條件的元素:[3,4,3]
arr = [1, 2, 3, 4, 3, 2, 1]
arr.keep_if { |x| x > 3} #只輸出滿(mǎn)足條件的元素:[4]
分享名稱(chēng):Ruby-數(shù)組
鏈接分享:
http://weahome.cn/article/pjgico.html