如何显示数组的第一个和最后一个元素?

时间:2015-05-15 05:25:10

标签: arrays ruby

我想返回数组的第一个和最后一个元素。

int x = 5,y=5;
cout<<x--<<endl;
cout<<--y<<endl;
cout<<x<<" "<<y<<endl;

但它只显示最后一个元素,当我加上加号时,它只是添加元素。我想要打印这样的东西[1,3]。有什么建议?

5 个答案:

答案 0 :(得分:4)

另一种方式:

['cat', 'dog', 'pig'].values_at(0,-1)
  #=> ["cat", "pig"] 

答案 1 :(得分:3)

看起来你想创建一个包含两个元素的新数组,这两个元素分别是参数的第一个和最后一个:

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

first_and_last([1,2,3]) # => [1, 3]
first_and_last(1..100) # => [1, 100]

答案 2 :(得分:2)

def first_and_last(a)
   return a.first, a.last
end

def first_and_last(a)
   return a[0], a[-1]
end

答案 3 :(得分:0)

def first_and_last(a)
  return [a.first, a.last]
end

在你的代码中,如果你没有返回值,那么你不会在ruby中返回任何值,然后在执行返回后自动返回最后一行。所以你需要像abobe一样回归

答案 4 :(得分:0)

如果您正在使用Array,Set,ActiveRecord或其他一些集合,那么您应该执行以下操作:

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

注意:不需要 return 关键字,因为Ruby方法中最后执行的语句将返回给方法的调用者。接下来,您方法的参数应该是有意透露的。也就是说,其他人应该很容易理解它是什么。在这种情况下,它是一个响应第一个最后消息的集合(即数组)。

认真思考,编码良好,

-Conrad