ハッシュの要素をランダムに抽出する
ハッシュを配列に変換してからランダムに決定したインデックスを取りだします.Hashクラスにchoiceメソッドを追加することで,簡単にハッシュの持つ要素をランダムに一つだけ取り出すことができます。 code:ruby
if RUBY_VERSION < '1.9.0'
class Array
def choice
at( rand( size ) )
end
end
class Hash
def choice
keys.choice
end
end
end
{% endhighlight %}
実行するたびに取り出される要素が異なります。
code:ruby
h = {"apple"=>150, "banana"=>300, "lemon"=>300}