Ruby / Rails – 获取数组中的最后两个值

@numbers = [ 1, 2, 3, 4, 5, 6, 7, 8 ]

@numbers.last会给我8

我需要抓住最后两个logging。 到目前为止,我已经尝试过,但是它会抛出一个NoMethodError

@numbers.last - 1

last有一个论点:

 @numbers = [ 1, 2, 3, 4, 5, 6, 7, 8 ] @numbers.last(2) # => [7,8] 

如果你想删除最后两个项目:

 @numbers.pop(2) #=> [7, 8] p @numbers #=> [1, 2, 3, 4, 5, 6] 

数组使用[] not {}来定义。 你可以使用负指数和范围来做你想做的事情:

 >> @numbers = [ 1, 2, 3, 4, 5, 6, 7, 8 ] #=> [1, 2, 3, 4, 5, 6, 7, 8] >> @numbers.last #=> 8 >> @numbers[-2..-1] #=> [7, 8] 

尝试这个

 @numbers = [ 1, 2, 3, 4, 5, 6, 7, 8 ] length = @numbers.length @numbers[length - 2..length - 1] => [7, 8]