Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > setライブラリ > Setクラス > classify

instance method Set#classify

classify {|o| ... } -> Hash[permalink][rdoc]

集合をブロックの値によって分類し、結果をハッシュとして返します。

ブロックは集合の各要素について実行され、引数 o にはその要素が 渡されます。

生成されるハッシュのキーはブロックの実行結果、値は分類された集合と なります。

require 'set'
numbers = Set[10, 4.5, 20, 30, 31.2]
p numbers.classify {|o| o.class}
#=> {Fixnum=>#<Set: {10, 20, 30}>, Float=>#<Set: {4.5, 31.2}>}