Ruby中的Arrayreverse方法做什么?

Ruby中的Arrayreverse方法做什么?,ruby,arrays,sorting,ruby-2.1,Ruby,Arrays,Sorting,Ruby 2.1,在Ruby中,当我对数组调用reverse方法时,它不会完全对数组进行反向排序 array = [5, 4, 9, 8, 7, 1, 2] array.reverse # => [2, 1, 7, 8, 9, 4, 5] 我无法理解它在阵列上执行的操作 > array => [5, 4, 9, 8, 7, 1, 2] > array.sort.reverse # it will sort the array by value in descending orde

在Ruby中,当我对数组调用reverse方法时,它不会完全对数组进行反向排序

array = [5, 4, 9, 8, 7, 1, 2]

array.reverse # => [2, 1, 7, 8, 9, 4, 5]
我无法理解它在阵列上执行的操作

> array
 => [5, 4, 9, 8, 7, 1, 2] 
> array.sort.reverse  # it will sort the array by value in descending order
 => [9, 8, 7, 5, 4, 2, 1] 
注:

:返回通过排序self创建的新数组。 :按相反顺序返回包含self元素的新数组。 看看它是如何工作的:

> array.reverse   # it will reverse the array by indexing
 => [2, 1, 7, 8, 9, 4, 5] 
> array.sort  # it will sort the array by value in ascending order
 => [1, 2, 4, 5, 7, 8, 9]

Arrayreverse反转数组的顺序,但不按相反顺序对数组排序

array = [1,5,7,3]
array.reverse
=> [3,7,5,1]
如果要按相反顺序对数组排序,可以尝试以下方法

array.sort_by{|a|array.max - a}

@克丽舍尔德我一开始就在那里,但这给了我一个非常简短的方法描述,太短了以至于我无法掌握它。所以,我在这里问它!reverse不排序,它只是颠倒列表中元素的顺序。@JesseMu明白了。这是一件很容易的事,我一点也不理解,只是明白了。谢谢!