我有很多水果,我想按降序排序。
fruits = ["orange", "apple", "banana", "pear", "grapes"]
如果我将组合运算符方法与do
一起使用,即使我将顺序更改为|a, b|
,它也会以升序排序。
print fruits.sort! do |b, a|
a <=> b
end
但是,如果我将sort!
和大括号一起使用,则会得到预期的输出:
print fruits.sort! { |b, a| a <=> b }
输出:
["apple", "banana", "grapes", "orange", "pear"]
["pear", "orange", "grapes", "banana", "apple"]
我正试图了解原因。
谢谢。