[#98621] Re: Function getlogin_r()'s protoype] — Bertram Scharpf <lists@...>
FYI,
3 messages
2020/06/02
[#98947] [Ruby master Feature#16986] Anonymous Struct literal — ko1@...
Issue #16986 has been reported by ko1 (Koichi Sasada).
66 messages
2020/06/26
[#98962] [Ruby master Bug#16988] Kernel.load loads file from current directory without '.' in path — misharinn@...
Issue #16988 has been reported by TheSmartnik (Nikita Misharin).
5 messages
2020/06/26
[#98969] [Ruby master Feature#16994] Sets: shorthand for frozen sets of symbols / strings — marcandre-ruby-core@...
Issue #16994 has been reported by marcandre (Marc-Andre Lafortune).
7 messages
2020/06/26
[#100117] [Ruby master Feature#16994] Sets: shorthand for frozen sets of symbols / strings
— matz@...
2020/09/25
Issue #16994 has been updated by matz (Yukihiro Matsumoto).
[ruby-core:98843] [Ruby master Bug#16966] Unexpected behavior of sort method
From:
mame@...
Date:
2020-06-17 23:49:34 UTC
List:
ruby-core #98843
Issue #16966 has been updated by mame (Yusuke Endoh).
Status changed from Open to Rejected
It is a bug of the book. Please report it to the author :-)
There is no guarantee about which `x` or `y` accepts each element. The following code will work as expected.
```
[1,100,42,23,26,1000].sort {|x,y| x==42 ? 1 : y==42 ? -1 : x<=>y } #=> [1, 23, 26, 100, 1000, 42]
```
----------------------------------------
Bug #16966: Unexpected behavior of sort method
https://bugs.ruby-lang.org/issues/16966#change-86206
* Author: kk (Kirill /)
* Status: Rejected
* 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: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>