从Ruby中的X.times返回数组的清理方式

前端之家收集整理的这篇文章主要介绍了从Ruby中的X.times返回数组的清理方式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我经常想对数组X执行一个动作,然后返回除该数字之外的结果.我通常写的代码如下:
def other_participants
    output =[]
    NUMBER_COMPARED.times do
      output << Participant.new(all_friends.shuffle.pop,self)
    end
    output
  end

有没有更清洁的方法来做到这一点?

解决方法

听起来像你可以使用map / collect(它们是Enumerable的同义词).它返回一个数组,内容是通过map / collect返回每次迭代.
def other_participants
  NUMBER_COMPARED.times.collect do
    Participant.new(all_friends.shuffle.pop,self)
  end
end

你不需要另外一个变量或一个明确的return语句.

http://www.ruby-doc.org/core/Enumerable.html#method-i-collect

猜你在找的Ruby相关文章