在Ruby中只返回数组的第一个和最后一个项

时间:2017-10-02 23:52:43

标签: arrays ruby

我需要创建一个名为first_and_last的方法。它应该使用一个参数,一个Array,并返回一个只包含参数的第一个和最后一个对象的新数组。

这是我到目前为止所拥有的,但该方法似乎忽略了初始参数,只是创建了一个新数组。

def first_and_last(a)
  arr = Array.new
  arr = ["a", "b", "c"]  
end

2 个答案:

答案 0 :(得分:4)

您可以使用values_at()方法获取数组中的第一个和最后一个元素,如下所示:

def first_and_last(input_array)
  input_array.values_at(0,-1)
end

根据您正在寻找的行为,它可能不适用于具有1或0个元素的数组。 You can read more about the method here

答案 1 :(得分:0)

您还可以将.first用于数组中的第一个元素,将.last用于数组中的最后一个元素。

def first_and_last(arr)
  [arr.first, arr.last]
end 

p first_and_last([1,2,3,4,5,6])

或者....

def first_and_last(arr)
   [arr[0], arr[-1]]
end 

p first_and_last([1,2,3,4,5,6])