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

Rai*_*ner 83 ruby arrays

例:

a = [1, 3, 4, 5]
b = [2, 3, 1, 5, 6]
Run Code Online (Sandbox Code Playgroud)

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

KL-*_*L-7 184

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

a[-1] # => 5
b[-1] # => 6
Run Code Online (Sandbox Code Playgroud)

Array#last方法:

a.last # => 5
b.last # => 6
Run Code Online (Sandbox Code Playgroud)

  • 我们不要忘记方便的`Array#last`,以及``[1,2,3] .last#=> 3` (21认同)
  • @theTinMan因为pop也修改了数组,所以不是这里要求的. (13认同)
  • 不要忘记`Array.pop`. (5认同)
  • 另外,当`a.last = 10#=> NoMethodError:undefined method last ='`但是`a [-1] = 10`按预期工作. (5认同)

Lew*_*ley 7

另一种方法,使用splat运算符:

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

STDOUT:
a: [1, 3, 4]
last: 5
Run Code Online (Sandbox Code Playgroud)