来自 Ruby 的官方文档:
排序→ new_ary 排序 { |a, b| block } → new_ary 返回一个通过自我排序创建的新数组。
排序比较将使用 <=> 运算符或使用可选代码块完成。
该块必须实现 a 和 b 之间的比较,并且当 a 跟随 b 时返回 -1,当 a 和 b 相等时返回 0,或者如果 b 跟随 a 则返回 +1。
另请参见 Enumerable#sort_by。
a = [ "d", "a", "e", "c", "b" ]
a.sort #=> ["a", "b", "c", "d", "e"]
a.sort { |x,y| y <=> x } #=> ["e", "d", "c", "b", "a"]
种类!→ ary 点击切换源排序!{ |a, b| block } → ary 对自身进行排序。
排序比较将使用 <=> 运算符或使用可选代码块完成。
该块必须实现 a 和 b 之间的比较,并且当 a 跟随 b 时返回 -1,当 a 和 b 相等时返回 0,或者如果 b 跟随 a 则返回 +1。
另请参见 Enumerable#sort_by。
a = [ "d", "a", "e", "c", "b" ]
a.sort! #=> ["a", "b", "c", "d", "e"]
a.sort! { |x,y| y <=> x } #=> ["e", "d", "c", "b", "a"]
结果似乎相同,那么有什么区别?