你如何简化这个根据内容拆分数组的 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?)
我想这样做
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?)