sort → new_ary
click to toggle source
sort { |a, b| block } → new_ary
Returns a new array created by sorting
self
.
Comparisons for the sort will be done using the
<=>
operator or using an optional code block.
The block must implement a comparison between
a
and
b
, and return
-1
, when
a
follows
b
,
0
when
a
and
b
are equivalent, or +
1
if
b
follows
a
.
See also
Enumerable#sort_by
.
a = [ "d", "a", "e", "c", "b" ]
a.sort
a.sort { |x,y| y <=> x }
a.sort { |x,y| x <=> Y }
sort! → ary
click to toggle source
sort! { |a, b| block } → ary
Sorts
self
in place.
Comparisons for the sort will be done using the
<=>
operator or using an optional code block.
The block must implement a comparison between
a
and
b
, and return
-1
, when
a
follows
b
,
0
when
a
and
b
are equivalent, or +
1
if
b
follows
a
.
See also
Enumerable#sort_by
.
a = [ "d", "a", "e", "c", "b" ]
a.sort!
a.sort! { |x,y| y <=> x }
3.sort和sort!的区别:
sort和sort!函数,默认都使用 <=>比较,他们的区别在于:
sort! 可能会改变原先的数组,所以加个感叹号提醒
sort 返回的是新数组,没对原先的数组进行修改
在ruby的SDK里,能看到很多加了感叹号的函数,都意味着对函数操作的对象进行了状态更改。