From: Yoji Ojima Date: 2010-12-21T12:36:16+09:00 Subject: [ruby-dev:42836] [Ruby 1.9-Feature#4147] Array#sample で重みを指定したい チケット #4147 が更新されました。 (by Yoji Ojima) >ところで以前 naruse さんが (IRC で) 言ってたアイデアなのですが、 >Enumerator で返すという API が考えられます。つまり、 > > e = %(大吉 中吉 小吉 凶).sample_each > e.each {|x| p x } #=> 凶 中吉 大吉 小吉 > > e = %(大吉 中吉 小吉 凶).sample_each(unique: false, weight: [1000, 100, 10, 1]) > e.each {|x| p x } #=> 大吉 大吉 中吉 大吉 ... これなら悪くないと思います。 ただ sample_each.each となると少し変なので、名前は要検討かと。 ---------------------------------------- http://redmine.ruby-lang.org/issues/show/4147 ---------------------------------------- http://redmine.ruby-lang.org