您将如何简化基于其内容拆分数组的ruby方法?

时间:2016-04-27 08:19:57

标签: ruby refactoring

我想这样做

apples, bananas = sort_basket

所以我做了这个方法

def sort_basket
  apples = []
  bananas = []
  basket.each do |fruit|
    if fruit.apple?
      apples << apple
    else
      bananas << banana
    end
  end
  [apples, bananas]
end

但是我无法帮助,但我觉得必须有更优雅和/或更简洁的方式来实现sort_basket的相同行为。

你会怎么做?

1 个答案:

答案 0 :(得分:5)

您可以使用partition分隔数组:

apples, bananas = basket.partition(&:apple?)