From: Yoji Ojima Date: 2010-12-20T22:33:06+09:00 Subject: [ruby-dev:42822] [Ruby 1.9-Feature#4147] Array#sample で重みを指定したい チケット #4147 が更新されました。 (by Yoji Ojima) >「重みを変えずに繰り返し抽選したい」というユースケースで有利になる >んですが、汎用性に欠けますかね。結構ありそうだと思うんですが。 ほとんどの場合は一回の呼び出しで大量の抽出を行うことで代替可能ではないでしょうか。 繰り返しになりますが、二分探索は最適なアルゴリズムではない(簡便性を犠牲にする割に半端にしか速くならない)というのも重要な点で、高速な細切れ抽出を本当に求めるのであれば、以下のサイトのコードのように専用のクラスを用意するのが適切だと思います。 http://code.activestate.com/recipes/576564-walkers-alias-method-for-random-objects-with-diffe/ しかしながら、これは組み込みライブラリでサポートすべき範疇ではないでしょう。 ---------------------------------------- http://redmine.ruby-lang.org/issues/show/4147 ---------------------------------------- http://redmine.ruby-lang.org