Rubyによる多重集合(マルチセット)の実装です。 通常の集合(Rubyでは"set"ライブラリ)と異なり、多重集合は同一の要素を複数格納することができます。
Set[:a,:b,:c,:b,:b,:c] => #<Set: {:b, :c, :a}>
Multiset[:a,:b,:c,:b,:b,:c] => #<Multiset:#3 :b, #2 :c, #1 :a>
Multiset#map・Multiset#map_withなどいくつかのメソッドを追加しました。以前のMultiset#map(=Enumerable#map)とは挙動が変更になっていますのでご注意下さい。
Multiset#classifyおよびMultiset#classify_withの返り値がMultimapとなりました。
Rubygemsによるインストールに対応しています。以下のコマンドでインストールできます。
gem install multiset
http://rubygems.org/gems/multisetから、.gemファイルを入手することもできます。
[Old versions]
*このプログラムはMITライセンス(0.3以降)およびBSDライセンス(0.2まで)にて公開しています。
[逆引きリファレンス] (Added on 2008/3/1)
メールアドレス main(あっとまーく)hhiro.net