From: ikll7@... Date: 2020-06-17T23:36:44+00:00 Subject: [ruby-core:98840] [Ruby master Bug#16966] Unexpected behavior of sort method Issue #16966 has been reported by kk (Kirill B). ---------------------------------------- Bug #16966: Unexpected behavior of sort method https://bugs.ruby-lang.org/issues/16966 * Author: kk (Kirill B) * Status: Open * Priority: Normal * ruby -v: 2.7.0 * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN ---------------------------------------- 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 ``` ruby [1,100,42,23,26,1000].sort {|x,y| x==42 ? 1 : x<=>y } ``` It's supposed to return `[1, 23, 26, 100, 10000, 42]` - So, I tried this with ruby 2.7.0 and it returned `[1, 23, 26, 42, 100, 1000]` Same story with 2.6.5 - If we try a different array `[1,2,42,46,22,33].sort {|x,y| x==42 ? 1 : x<=>y }` It'll return `[1, 2, 22, 33, 46, 42]` as expected with 42 at the end. ---Files-------------------------------- Screenshot 2020-06-16 at 15.09.41.png (151 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: