[#42735] [Ruby 1.9-Feature#4147][Open] Array#sample で重みを指定したい — Yoji Ojima <redmine@...>

Feature #4147: Array#sample で重みを指定したい

52 messages 2010/12/10
[#42791] [Ruby 1.9-Feature#4147][Assigned] Array#sample で重みを指定したい — Shyouhei Urabe <redmine@...> 2010/12/18

チケット #4147 が更新されました。 (by Shyouhei Urabe)

[#42800] Re: [Ruby 1.9-Feature#4147][Assigned] Array#sample で重みを指定したい — Masaya TARUI <tarui@...> 2010/12/19

> じゃあ反対ないので実装はともかく、この仕様は基本入れる方向で考えましょう。反対の人は意思表示お早めに。

[#42763] [Ruby 1.9-Bug#4159][Open] test_block_variables(TestRipper::ParserEvents) が失敗する — Kouhei Yanagita <redmine@...>

Bug #4159: test_block_variables(TestRipper::ParserEvents) が失敗する

8 messages 2010/12/14

[#42894] [Ruby 1.8-Feature#4207][Open] これから「1.8.8」の話をしよう -- 1.8がこの先生きのこるには — Shyouhei Urabe <redmine@...>

Feature #4207: これから「1.8.8」の話をしよう -- 1.8がこの先生きのこるには

24 messages 2010/12/26
[#42935] Re: [Ruby 1.8-Feature#4207][Open] これから「1.8.8」の話をしよう -- 1.8がこの先生きのこるには — Kenta Murata <muraken@...> 2011/01/04

むらたです。

[#42936] Re: [Ruby 1.8-Feature#4207][Open] これから「1.8.8」の話をしよう -- 1.8がこの先生きのこるには — Kenta Murata <muraken@...> 2011/01/05

むらたです。

[ruby-dev:42800] Re: [Ruby 1.9-Feature#4147][Assigned] Array#sample で重みを指定したい

From: Masaya TARUI <tarui@...>
Date: 2010-12-19 05:06:12 UTC
List: ruby-dev #42800
> じゃあ反対ないので実装はともかく、この仕様は基本入れる方向で考えましょう。反対の人は意思表示お早めに。
仕様が詰められていないと思うので、そういう意味で消極的反対です。

複数個取り出すときは重みはどうなるんでしょうか?

現在のsampleの仕様は非復元抽出なので一度取り出されたitemはもう取り出されないのですが、
重みを与える場合の仕様が不明確だと思います。

復元抽出を入れたいという要望は
[ruby-dev:41918] [Feature #3647] Array#sample(n, replace=false)
でされていますが、
matzからは『「本当に必要なの」ってところがですかね。』と言われているので、
誰かが必要性をアピールしないと、入らないと思います。

#3647が入らなかったとして、仕様を考えると大体3通りがあると思います。
1)重みを与えた時は復元抽出にする。
2)取り出されたアイテムの重みを-1する。 (-1以外もあるかもしれませんが)
3)重みと複数個抽出両方与えられたらエラーにする。

と挙げてみたもののどれも今一な仕様に思えます。
もっとよい仕様ないですかね。

後、個人的な感想では重みをブロックで決めるのがスッキリしません。
-- 
樽家昌也(Masaya TARUI)
No Tool,No Life.

In This Thread