From: "mame (Yusuke Endoh)" Date: 2012-03-25T14:18:27+09:00 Subject: [ruby-core:43602] [ruby-trunk - Feature #4247][Assigned] New features for Array#sample, Array#choice Issue #4247 has been updated by mame (Yusuke Endoh). Description updated Status changed from Open to Assigned Assignee set to mame (Yusuke Endoh) ---------------------------------------- Feature #4247: New features for Array#sample, Array#choice https://bugs.ruby-lang.org/issues/4247#change-25098 Author: oj (Yoji Ojima) Status: Assigned Priority: Normal Assignee: mame (Yusuke Endoh) Category: Target version: =begin We are planning to add the following features of the random sampling to Array. 1. Weighted random sampling. 2. Sampling with replacement. 3. Iteration. It is discussed in ruby-dev (Feature #3647 and #4147). API will be: Array#sample([size, [opt]]) - Random selection without replacement. - Returns a new array when size is specified. - opt: weight: proc or array random: Random instance Array#choice([size, [opt]]) - Random selection with replacement. - Returns a new array when size is specified. - opt: same as above. Array#each_sample([opt]) - Random selection iterator without replacement. - Choose a random element and yield it. - Returns an Enumerator if a block is not given. - opt: same as above. Array#each_choice([opt]) - Random selection iterator with replacement. - Choose a random element and yield it. - Returns an Enumerator if a block is not given. - opt: same as above. Comments? =end -- http://bugs.ruby-lang.org/