Ruby-数组-创新互联

=begin
      数组,是有序的,基于整数引索的任意对象的集合;索引起始为0  -1为最后一个元素
=end

#数组的用法----如何获取数组中的元素
arr = [1, 2, 3, 4, 5, 6]
arr[2]            #输出第三个数组中的元素:3
arr[100]          #无法输出超出数组长度的元素:nil
arr[-3]           #输出倒数组中数倒数第三的元素:4
arr[2,3]          #输出从第三个元素开始三个长度的元素:[3,4,5]
arr[1 .. 4]       #输出包括第二个元素到第五个之间的所有元素:[2,3,4,5]
arr[1 .. -3]      #输出包括正数第二个元素到到倒数第三个元素之间的所有元素:[2,3,4]
arr.at(0)         #输出数组中第一个元素:1
arr.fetch(1)      #输出数组中第二个元素:2
arr.take(3)       #输出数组中前三个元素:[1,2,3]
arr.drop(3)       #丢弃数组中前三个元素后剩下的元素,不会修改数组本身:[4,5,6]

#数组的用法----获取数组的信息
arr.length        #输出数组中元素的长度(个数):6
arr.count         #输出数组中元素的个数(长度):6
arr.empty?        #判断数组是否为空:false
arr.include?(6)   #判断该对象是否为数组中的元素:true

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

#修改数组----删减数组中的元素
arr = [1, 2, 3, 4, 5, 6]
arr.pop           #删除数组的最后一个元素:[1,2,3,4,5]
arr.shift         #删除数组中的第一个元素:[2,3,4,5]
arr.delete_at(2)  #删除数组中索引位置为2的元素,:[2,3,5]
arr.delete(2)     #删除数组中的元素2:[3,5]

arr = [1, 1, 2, 2, 3, 3, nil]
arr.uniq          #删除数组中重复的元素并输出,不会修改数组本身:[1,2,3,nil]
arr.compact       #删除数组中显示出的nil元素并输出,不会修改数组本身:[1,1,2,2,3,3]

#数组的用法----遍历数组
arr = [1, 2, 3, 4, 5, 6]
arr.each{ |x| puts x }                #按顺序遍历数组中的元素(方法一): 1\n2\n3\n4\n5\n6\n
arr.each do |x|
  puts x
end                                   #按顺序遍历数组中的元素(方法二):1\n2\n3\n4\n5\n6\n
arr.reverse_each { |x| puts x }       #逆序遍历数组中的元素:6\n5\n4\n3\n2\n1\n
arr.map { |x| x * 2 }                 #接受一个块,对特定的元素进行单独的操作,需要赋值给一个新的变量,不会修改数组本身:[2,4,6,8,10,12]
arr.select { |x| x > 4 }              #在数组中筛选出值大于4的的元素,需要赋值给一个新的变量,不会修改数组本身:[5,6]
arr.reject { |x| x > 4}               #在数组中筛掉值大于4的元素,需要赋值给一个新的变量,不会修改数组本身:[1,2,3,4]

arr = [1, 2, 3, 4, 3, 2, 1]
arr.drop_while { |x| x < 3 }          #删除最先一次数组中满足条件的的元素,不会修改数组本身:[3,4,3,2,1]
arr.delete_if { |x| x < 3 }           #删除数组中所有满足条件的元素:[3,4,3]

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

北屯网站建设公司创新互联,北屯网站设计制作,有大型网站制作公司丰富经验。已为北屯超过千家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的北屯做网站的公司定做!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享题目:Ruby-数组-创新互联
网页网址:http://pwwzsj.com/article/dsidce.html