
Issue #19987 has been updated by ufuk (Ufuk Kayserilioglu). The `first` call works because `Range` is an `Enumerable`, and since getting the first element is an act of enumeration. On the other hand, `sample` needs to know the full list to do what it is doing, so can't be seen as an act of enumeration. For example, `first` would work with an unbounded enumerable, but there is no way `sample` could: ```ruby (1..).first(5) # => [1, 2, 3, 4, 5] ``` ---------------------------------------- Feature #19987: add sample method to Range https://bugs.ruby-lang.org/issues/19987#change-105158 * Author: horv77@protonmail.com (Andras Horvath) * Status: Open * Priority: Normal ---------------------------------------- Dear Devs, I'd like to suggest a change. Since the following works: (1..99).first(5) Therefore this one could be logical and useful to work: (1..99).sample(5) Thanks, Andras -- https://bugs.ruby-lang.org/