[Ruby 1.9 - Feature #4147] Array#sample で重みを指定したい

Issue #4147 has been updated by Shyouhei U…

ちょっと、この件が自分にアサインされていてかつ最後がまつもとさんの「取り込んでもいい」で終わってるのを発見したのですが、これってえんどうさんが実装持ってたりします?
なければ今から自分が書こうと思いますが。

Feature #4147: Array#sample で重みを指定したい
http://redmine.ruby-lang.org/issues/4147

Author: Yoji Ojima
Status: Assigned
Priority: Normal
Assignee: Shyouhei U.
Category:
Target version:

=begin
Array#sample にブロックを渡したとき、ブロックの戻り値を要素の重みとして使用するのはいかがでしょうか。

下記のサンプルで、“大吉” が “凶” の 1000 倍の確率で選択されるようにしたいです。

omikuji_box = [
{:name => “大吉”, :weight => 1000},
{:name => “中吉”, :weight => 100},
{:name => “小吉”, :weight => 10},
{:name => “凶”, :weight => 1}
]
omikuji = omikuji_box.sample {|v| v[:weight] }
puts omikuji[:name]
=end

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs