在 irb 中使用 .reverse

Using .reverse in irb

在 IRB 中,

.sort 运行良好。

(1..10).to_a.sample(5).sort => [1, 3, 6, 8, 9]

但是,.reverse 不起作用

(1..10).to_a.sample(5).reverse => [4, 3, 10, 2, 1]

我怎样才能得到反转的结果? 谢谢

反向功能正常。 “reverse”不按值反转,它按位置反转。第一项成为最后一项。第二个成为倒数第二个。等等...由于您正在反转随机数数组,因此您将反转那些未排序的随机数。

又来了,不过显示的是中间随机数。

2.6.4 :008 > nums = (1..10).to_a.sample(5)
 => [9, 2, 8, 3, 5] 
2.6.4 :009 > nums.reverse
 => [5, 3, 8, 2, 9] 

如果要倒序,先对随机数排序,再倒序。

(1..10).to_a.sample(5).sort.reverse

再次,所有步骤...

2.6.4 :010 > nums = (1..10).to_a.sample(5)
 => [7, 9, 8, 4, 1] 
2.6.4 :011 > sorted = nums.sort
 => [1, 4, 7, 8, 9] 
2.6.4 :012 > sorted.reverse
 => [9, 8, 7, 4, 1]