Project

General

Profile

Actions

Feature #3649

closed

Array#sample, Array#shuffle, Array#shuffle! で使用する乱数生成器を指定するためにオプショナル引数を追加する

Added by mrkn (Kenta Murata) over 13 years ago. Updated almost 13 years ago.

Status:
Closed
Assignee:
-
Target version:
[ruby-dev:41923]

Description

=begin
Array#sample, Array#shuffle, Array#shuffle! の3メソッドは配列の要素に対して乱数を適用させるメソッドです。
これらのメソッドが使用する乱数生成器は Ruby インタプリタがデフォルトで持っているものに固定されており、変更することができません。

そこで、以下のように乱数生成器を指定できるよう、これらのメソッドに対してオプショナル引数を導入することを提案します。

gen = Random.new
[*1..6].sample(3, random: gen)
[*1..6].shuffle(random: gen)
[*1..6].shuffle!(random: gen)

追加する patch は、中田さんが作成した Array#sample への変更に対して、
私が Array#shuffle と Array#shuffle! への変更を追加したものになっています。
=end


Files

array_sample_shuffle_random.patch (8.16 KB) array_sample_shuffle_random.patch mrkn (Kenta Murata), 08/03/2010 08:29 PM

Related issues 1 (0 open1 closed)

Related to Ruby master - Feature #3647: Array#sample(n, replace=false)Feedbackmrkn (Kenta Murata)Actions
Actions #1

Updated by nobu (Nobuyoshi Nakada) over 13 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

=begin
This issue was solved with changeset r29083.
Kenta, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

=end

Actions

Also available in: Atom PDF

Like0
Like0