Z
ZHANK
集合与枚举

数组 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   # 随机取一个