[#45910] [ruby-trunk - Bug #6694][Open] Thread.new without block. — "ko1 (Koichi Sasada)" <redmine@...>

24 messages 2012/07/04

[#45913] [ruby-trunk - Bug #6698][Open] MacOSXではDir.globが返すファイル名の内容はUTF8-MACですがencodingがUTF-8になっている — "imkira (Mario Freitas)" <imkira@...>

10 messages 2012/07/04

[#45933] [ruby-trunk - Bug #6716][Open] FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT エラーになる — "tommy (Masahiro Tomita)" <tommy@...>

8 messages 2012/07/10

[#45976] [ruby-trunk - Bug #6756][Open] FileUtils.rm_rf がアクセス権のない空ディレクトリを削除しない — "fumiyas (Fumiyasu SATOH)" <fumiyas@...>

9 messages 2012/07/20

[#46012] [ruby-trunk - Feature #6812][Open] Refactor gc.c — "authorNari (Narihiro Nakamura)" <authorNari@...>

13 messages 2012/07/30

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

From: "akr (Akira Tanaka)" <akr@...>
Date: 2012-07-14 04:46:00 UTC
List: ruby-dev #45950
Issue #4147 has been updated by akr (Akira Tanaka).


開発ミーティングで話したところ、何を実装すればいいのか仕様がいまひとつはっきりしていないのが
問題で進まないということに一致を見ました。

とりあえず、私は、repeat: オプションとブロックによる重みを実装するのがいいのではないか、と思います。

ここでブロックは与えられた値に対する重みを返すものとします。(累積確率ではありません)

(累積確率よりも単なる重みの方が単純でわかりやすそうというのが、
単にブロックを与えたときに重みと解釈する理由です。
もし累積確率が必要なら、将来的になにかオプション引数で指定するというのはありえます。)
----------------------------------------
Feature #4147: Array#sample で重みを指定したい
https://bugs.ruby-lang.org/issues/4147#change-28017

Author: oj (Yoji Ojima)
Status: Assigned
Priority: Normal
Assignee: shyouhei (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://bugs.ruby-lang.org/

In This Thread

Prev Next