Ruby中的Arrayreverse方法做什么?
在Ruby中,当我对数组调用reverse方法时,它不会完全对数组进行反向排序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
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明白了。这是一件很容易的事,我一点也不理解,只是明白了。谢谢!