[#44904] [ruby-trunk - Bug #5688][Open] Solaris10 で spawn を繰り返すとメモリリークする — okkez _ <redmine@...>

14 messages 2011/11/29

[ruby-dev:44910] [ruby-trunk - Feature #4147] Array#sample で重みを指定したい

From: Yui NARUSE <naruse@...>
Date: 2011-11-30 21:41:24 UTC
List: ruby-dev #44910
Issue #4147 has been updated by Yui NARUSE.

Target version set to 2.0.0

そろそろ言っちゃっても大丈夫だと思うんですが、これの主たるユースケースってRPGツクールですよね。
http://tkool.jp/
http://d.hatena.ne.jp/ktakaki/20111201/p1

という話を出しつつ、ping
----------------------------------------
Feature #4147: Array#sample で重みを指定したい
http://redmine.ruby-lang.org/issues/4147

Author: Yoji Ojima
Status: Assigned
Priority: Normal
Assignee: Shyouhei Urabe
Category: 
Target version: 2.0.0


=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



-- 
http://redmine.ruby-lang.org

In This Thread

Prev Next