From: "nagachika (Tomoyuki Chikanaga)" Date: 2013-02-24T23:05:30+09:00 Subject: [ruby-core:52828] [Backport 200 - Backport #7935] Array#sample with random generator Issue #7935 has been updated by nagachika (Tomoyuki Chikanaga). Assignee changed from mame (Yusuke Endoh) to nagachika (Tomoyuki Chikanaga) ---------------------------------------- Backport #7935: Array#sample with random generator https://bugs.ruby-lang.org/issues/7935#change-36932 Author: marcandre (Marc-Andre Lafortune) Status: Assigned Priority: High Assignee: nagachika (Tomoyuki Chikanaga) Category: Target version: The Random generator method's rand is called with the wrong limit. Kernel::rand(n) returns integer between 0 and n-1, but generator is called with (n-1). For example: require 'delegate' [1, 2].sample(1, random: Random.new) # => [1], or [2] [1, 2].sample(1, random: SimpleDelegator.new(Random.new)) # => [1], never [2] test_random_ulong_limited -- http://bugs.ruby-lang.org/