如何在Ruby中获取数组的最后一个元素?

115

例子:

a = [1, 3, 4, 5]
b = [2, 3, 1, 5, 6]

如何在不使用 a[3]b[4] 的情况下获取数组 a 中的最后一个值 5 或数组 b 中的最后一个值 6

2个回答

233

使用-1索引(负数索引从数组末尾向后计数):

a[-1] # => 5
b[-1] # => 6

或者使用Array#last方法:

a.last # => 5
b.last # => 6

27
别忘了方便的 Array#last 方法 :) [1,2,3].last #=> 3 - Lee Jarvis
14
由于pop方法也会修改数组,因此它不符合这里的要求。 - sepp2k
感谢负号选项,它非常有效。 - vidur punj
10
同时需要注意的是,当使用 a.last = 10 时会出现 NoMethodError: undefined method last=' 的错误,但是使用 a[-1] = 10` 则可以按照预期工作。 - GregPK

13

还有一种方法,使用扩展运算符:

*a, last = [1, 3, 4, 5]

a => [1, 3, 4]
last => 5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接