[#30743] 大きな数の大まかな割り算 — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

17 messages 2007/05/01

[#30827] Supporting Fiber — SASADA Koichi <ko1@...>

 ささだです。

22 messages 2007/05/27

[ruby-dev:30782] Array#choiceの破壊的ver.の名前

From: ujihisa@...
Date: 2007-05-12 18:45:36 UTC
List: ruby-dev #30782
氏久です。

5月2日に、trunkにArray#choiceが加わりました。
これはArrayのat(rand(self.size))と同じものです。

これに対して、破壊的にランダムに値を取り出す
Array#choice!を作ってみました。
( 作ったのはRuby関西のokkezさんです )
これはArrayのdelete_at(rand(self.size))と同じものです。

問題となるのは名前で、
Array#choiceに対してatが使われるなら
Array#choice!に対してはat!を期待してしまうのに対し
実際にはdelete_atです。

他の名前を取り出すならば、やることが
「randomly taken from array」なので
Array#takeというのも考えられますが、
takeだとHaskellのtakeのように全く意味の違うものと
混同してしまいそうです。
# takeはHaskellなどで先頭からn個の要素を取り出すメソッドです。

他に考えられるのはpickupなどがありますが、
どのような名前が最も自然に感じるでしょうか?

In This Thread

Prev Next