Project

General

Profile

Bug #16966

Updated by sawa (Tsuyoshi Sawada) over 5 years ago

The Hey there 

 I've been going through the old ruby cook book from 2015 which uses ruby 2.1. 

 It has the following example of using `sort` method: sort method 

 ``` ruby 
 [1,100,42,23,26,1000].sort {|x,y| x==42 ? 1 : x<=>y } 
 # => [1, ``` 
 

 It's supposed to return `[1, 23, 26, 100, 10000, 42] 42]` 

 - 
 ``` 
 
 It actually So, I tried this with ruby 2.7.0 and it returned `[1, 23, 26, 42, 100, 1000]`. 1000]` 

 With Same story with 2.6.5 


 - 
 If we try a different array, I get the expected result with 42 at the end: 

 ```ruby 
 [1,2,42,46,22,33].sort array `[1,2,42,46,22,33].sort {|x,y| x==42 ? 1 : x<=>y } 
 # => [1, }`    It'll return    `[1, 2, 22, 33, 46, 42] 
 ``` 42]` as expected with 42 at the end.

Back