30

Rails 是否有一个类或其他扩展允许一个系列中的前几个元素(以及最后一个)?这些工作:

[2,45,2,14,53,23,634,346,34,46,643,634,346,34,34].fifth
# -> 53
[2,45,2,14,53,23,634,346,34,46,643,634,346,34,34].last
# -> 34

那么在哪里呢?

list.sixth
list.hundredth 
4

3 回答 3

67

曾经有一段时间 Rails 添加了这些,但有很多争议,所以大部分都被删除了。这个实验的唯一残余是Array#forty_two

(1..100).to_a.forty_two
# => 42
于 2011-10-11T18:28:19.647 回答
17

您可以只使用方括号:

list[6]
list[100]
于 2011-10-11T18:26:08.500 回答
5

在 activesupport 中,它确实将这些方法中的一些修补到 Array 类中。如果你真的想要更多,你可以看看如何从 activesupport 实现:

https://github.com/rails/rails/blob/master/activesupport/lib/active_support/core_ext/array/access.rb

于 2011-10-11T19:19:34.673 回答