溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Ruby-數(shù)組

發(fā)布時間:2020-06-22 11:19:14 來源:網(wǎng)絡(luò) 閱讀:912 作者:3581758abc 欄目:編程語言
=begin
      數(shù)組,是有序的,基于整數(shù)引索的任意對象的集合;索引起始為0  -1為最后一個元素
=end

#數(shù)組的用法----如何獲取數(shù)組中的元素
arr = [1, 2, 3, 4, 5, 6]
arr[2]            #輸出第三個數(shù)組中的元素:3
arr[100]          #無法輸出超出數(shù)組長度的元素:nil
arr[-3]           #輸出倒數(shù)組中數(shù)倒數(shù)第三的元素:4
arr[2,3]          #輸出從第三個元素開始三個長度的元素:[3,4,5]
arr[1 .. 4]       #輸出包括第二個元素到第五個之間的所有元素:[2,3,4,5]
arr[1 .. -3]      #輸出包括正數(shù)第二個元素到到倒數(shù)第三個元素之間的所有元素:[2,3,4]
arr.at(0)         #輸出數(shù)組中第一個元素:1
arr.fetch(1)      #輸出數(shù)組中第二個元素:2
arr.take(3)       #輸出數(shù)組中前三個元素:[1,2,3]
arr.drop(3)       #丟棄數(shù)組中前三個元素后剩下的元素,不會修改數(shù)組本身:[4,5,6]

#數(shù)組的用法----獲取數(shù)組的信息
arr.length        #輸出數(shù)組中元素的長度(個數(shù)):6
arr.count         #輸出數(shù)組中元素的個數(shù)(長度):6
arr.empty?        #判斷數(shù)組是否為空:false
arr.include?(6)   #判斷該對象是否為數(shù)組中的元素:true

#修改數(shù)組----向數(shù)組中增加元素
arr = [1, 2, 3, 4]
arr.push(5)                       #向數(shù)組末尾插入一個元素:[1,2,3,4,5]
arr << 6                          #同上,向數(shù)組末尾插入一個元素:[1,2,3,4,5,6]
arr.unshift(0)                    #在數(shù)組的起始位置插入一個元素:[0,1,2,3,4,5,6]
arr.insert(3, "heiheihei")        #在數(shù)組第三個元素后面插入一個元素,使之成為第四個元素,新元素索引位置為3:[0,1,2,"heiheihei",3,4,5,6]
arr[8] = 7                        #在索引位置為8的位置插入(修改)一個元素:[0,1,2,"heiheihei",3,4,5,6,7]

#修改數(shù)組----刪減數(shù)組中的元素
arr = [1, 2, 3, 4, 5, 6]
arr.pop           #刪除數(shù)組的最后一個元素:[1,2,3,4,5]
arr.shift         #刪除數(shù)組中的第一個元素:[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ù)組中重復的元素并輸出,不會修改數(shù)組本身:[1,2,3,nil]
arr.compact       #刪除數(shù)組中顯示出的nil元素并輸出,不會修改數(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 }                 #接受一個塊,對特定的元素進行單獨的操作,需要賦值給一個新的變量,不會修改數(shù)組本身:[2,4,6,8,10,12]
arr.select { |x| x > 4 }              #在數(shù)組中篩選出值大于4的的元素,需要賦值給一個新的變量,不會修改數(shù)組本身:[5,6]
arr.reject { |x| x > 4}               #在數(shù)組中篩掉值大于4的元素,需要賦值給一個新的變量,不會修改數(shù)組本身:[1,2,3,4]

arr = [1, 2, 3, 4, 3, 2, 1]
arr.drop_while { |x| x < 3 }          #刪除最先一次數(shù)組中滿足條件的的元素,不會修改數(shù)組本身:[3,4,3,2,1]
arr.delete_if { |x| x < 3 }           #刪除數(shù)組中所有滿足條件的元素:[3,4,3]

arr = [1, 2, 3, 4, 3, 2, 1]
arr.keep_if { |x| x > 3}              #只輸出滿足條件的元素:[4]


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI