数组 Array
数组创建/索引/切片、<< 追加、& | - 集合运算、flatten/uniq
数组 Array
Ruby 数组多才多艺——可当列表、栈、队列、集合使用。<< 追加,& | - 做集合运算。
学完本章你将: 掌握数组创建/索引/切片、<< 追加、集合运算。
创建与访问
ruby
arr = [1, 2, 3, 4, 5]
arr = Array.new(3, 0) # [0, 0, 0]
arr = %w[apple banana] # ["apple", "banana"](字符串数组)
arr[0] # 1
arr[-1] # 5(倒数)
arr[1..3] # [2, 3, 4](Range 切片)
arr.first # 1
arr.last # 5
# 越界返回 nil——不会报错
arr[99] # nil
增删改
ruby
arr = [1, 2, 3]
arr << 4 # [1, 2, 3, 4](追加)
arr.push(5, 6) # [1, 2, 3, 4, 5, 6]
arr.pop # 6(移除末尾)
arr.shift # 1(移除开头)
# 修改
arr[0] = 10
arr[1..2] = [20, 30]
集合运算
ruby
a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
a & b # [3, 4](交集)
a | b # [1, 2, 3, 4, 5, 6](并集)
a - b # [1, 2](差集)
# 其他
arr.uniq # 去重
arr.flatten # 展平嵌套数组
arr.shuffle # 随机打乱
arr.sample # 随机取一个