knuと申します。

 直感的に、「無作為に要素を一つ選ぶ」というのは要素集合の全貌が
見えている状態ですることだと思います。Enumerableを一旦配列に変換し、

	ary = enum.to_a
	val = ary[rand ary.size]

とするのが妥当でしょう。そして、ary[rand ary.size]程度の手間の
ためにメソッドを作る必要もないと思います。

 シャッフル、削除を含む抽出、なども用途が限られていますし、既存の
クラスに自分でメソッドを追加・再定義できるRubyでは初めから入れて
おく必要はないのではないかと。

-- 
                     /
                    /__  __
                   / )  )  ) )  /  http://www.idaemons.org/knu/
Akinori MUSHA aka / (_ /  ( (__(   mailto:knu / idaemons.org

"We are but hungry..  Associated Ita-meshi Daemons!"
                                   http://www.idaemons.org/