Ruby数组操作总结
数组的创建
arr = Array.new num #创建num个元素的数组,所有数组元素为nil
arr = Array.new num, elem #创建num个元素的数组,所有数组元素为elem
arr = Array(m..n) #创建m..n元素为m到n的数组(包括n) m...n不包括n
arr = (Array)[elem1, elem2,....elemn] #Array可选
arr = Array.[](elem1,...........)
arr = %w[string1, string2,....stringn]
数组的修改
插入
arr.insert pos, elem
删除
arr.delete elem
arr.delete_at pos
修改
arr[pos]= new_elem
arr[start..end]=/arr[start...end]=
arr[start, length]=
栈
arr.push
arr.pop
队列
arr.shift
arr.unshift
新增
arr1 + arr2 #只能是两个数组加
arr1.concat arr2
arr1 << elem/arr2
集合运算
arr1 & arr2
arr1 | arr2
arr1 - arr2
压缩
arr.compact #去除所有nil,注意不能递归,多维数组之中的nil是不能用这个去掉
arr.uniq(!) #压缩所有重复元素
转换
arr.to_s
arr.join delimiter
arr.sort(!)
arr.reverse(!)
arr.flatten #将多维数组编程一维
arr.transpose #将记录转换为列
清空
arr.clear
检索数组
arr.index elem #返回elem的位置
arr[pos] #返回pos位置的元素
arr.at pos #同上
判断
arr.include? elem
arr.empty?