读书笔记:Ruby Array 操作

索引使用

[n, len] 表示从 a[n] 开始,获取之后的 len 个元素

alpha = %w[a b c d e]
p alpha[2, 3] # => ["c", "d", "e"]

从某个元素开始,获取多个元素

元素赋值

alpha = %w[a b c d e f]
# 对数组第三个元素到第五个元素赋值
alpha[2, 3] = %w[C D E] # => ["a", "b", "C", "D", "E", "f"]
# 多出来的会接着后面的
alpha[2, 3] = %w[C D E] # => ["a", "b", "C", "D", "E", "F", "f"]

# 指定 [n, 0] 后,就会在索引值为 n 的元素前插入新元素
alpha[2, 0] = %w[X Y] # => ["a", "b", "X", "Y", "c", "d", "e", "f"]

作为集合

“|” 与 “+” 的不同点
num = [1, 2, 3]
even = [2, 4, 6]
p (num + even) # => [1, 2, 3, 2, 4, 6]
p (num | even) # => [1, 2, 3, 4, 6]

队列 与 栈

# 队列
alpha = %w[a b c d e]
p alpha.push("f") # => ["a", "b", "c", "d", "e", "f"]
p alpha.shift     # => "a"

# 栈
alpha = %w[a b c d e]
p alpha.first  # => 1
p alpha.last   # => 5