=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]