你如何简化这个根据内容拆分数组的 ruby 方法?

How would you simplify this ruby method that splits an array based on its content?

我想这样做

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

但我不禁觉得必须有一种更优雅 and/or 更简洁的方法来实现 sort_basket.

的相同行为

你会怎么做?

可以用partition分隔数组:

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