访问元素

你可以通过索引访问数组的元素。数组索引编号从 0 开始。

%w(a b c)[0] # => 'a'
%w(a b c)[1] # => 'b'

你可以使用范围裁剪阵列

%w(a b c d)[1..2] # => ['b', 'c'] (indices from 1 to 2, including the 2)
%w(a b c d)[1...2] # => ['b'] (indices from 1 to 2, excluding the 2)

这将返回一个新数组,但不会影响原始数组。Ruby 还支持使用负索引。

%w(a b c)[-1] # => 'c'
%w(a b c)[-2] # => 'b'

你也可以将负指数和正指数结合起来

%w(a b c d e)[1...-1] # => ['b', 'c', 'd']

其他有用的方法

使用 first 访问数组中的第一个元素:

[1, 2, 3, 4].first # => 1

或者 first(n) 访问数组中返回的第一个 n 元素:

[1, 2, 3, 4].first(2) # => [1, 2]

同样对于 lastlast(n)

[1, 2, 3, 4].last    # => 4
[1, 2, 3, 4].last(2) # => [3, 4]

使用 sample 访问数组中的随机元素:

[1, 2, 3, 4].sample  # => 3
[1, 2, 3, 4].sample  # => 1

或者 sample(n)

[1, 2, 3, 4].sample(2) # => [2, 1]
[1, 2, 3, 4].sample(2) # => [3, 4]