0.1.0 / 2008-02-09¶ ↑
(ja)
-
公開開始。
(en)
-
First distribution.
0.1.1 / 2008-02-12¶ ↑
(ja)
-
Multiset#&の実装が誤っていたのを修正。
-
ドキュメントの間違いを修正。
(en)
-
Fixed: Wrong implementation of Multiset#&
-
Fixed: Wrong documentation
0.1.2 / 2008-02-16¶ ↑
(ja)
-
Hash#to_multisetに冗長な処理があったので修正。
-
Multisetにメソッドmap, map!, collect, collect!, map_with, map_with!を追加。
-
これに伴い、従来のMultiset#mapなどとは挙動が変更されました。 (従来のMultiset#mapなどはEnumerable#mapを呼んでいたので、 返り値は配列でした。)
-
(en)
-
Fixed: Removing redundant process in Hash#to_multiset
-
Added: Methods: map, map!, collect, collect!, map_with, map_with! on Multiset
-
As a result, what Multiset#map and other methods do has changed. (As of version 0.11, Multiset#map returns an array, because Multiset#map means Enumerable#map.)
-
0.1.3 / 2008-03-01¶ ↑
(ja)
-
setup.rb(i.loveruby.net/ja/projects/setup/)を用いたインストールに対応した。
(en)
-
Made setup.rb(i.loveruby.net/en/projects/setup/) be avaliable.
0.1.3.1 / 2008-03-02¶ ↑
(ja)
-
ドキュメントの間違いを修正。
(en)
-
Fixed: Wrong documentation
0.2.0 / 2008-03-23¶ ↑
(ja)
-
Multimapクラスを追加。またこれに伴い、Hash#to_multimap・Hash#multimap メソッドを追加。
-
Multiset.parse、Multiset.parse_force、Multiset.parse_string、 Multiset.parse_string?メソッドを追加。
-
Multiset#==において、引数がMultisetのインスタンスでない場合、 強制的にfalseを返すようにした。
-
Multiset#subset?、Multiset#superset?、Multiset#proper_subset?、 Multiset#proper_superset?において、引数がMultisetのインスタンスで ない場合、強制的にArgumentErrorを発生するようにした。
(en)
-
Added: Multimap class, Hash#to_multimap, Hash#multimap
-
Added: Multiset.parse, Multiset.parse_force, Multiset.parse_string, Multiset.parse_string?
-
Changed: In Multiset#==, if the argument is not an instance of Multiset, Multiset#== always returns false.
-
Changed: In Multiset#subset?, Multiset#superset?, Multiset#proper_subset? and Multiset#proper_superset?, if the argument is not an instance of Multiset, those methods always raise ArgumentError.
0.2.0.1 / 2008-03-25¶ ↑
(ja)
-
Multiset#classify、Multiset#classify_withの返り値をMultimapにした。
-
Multimap#to_s、Multimap#inspectを追加。(ドキュメントは省略させていただきます)
-
Multiset#to_sの実装が誤っていたのを修正。
(en)
-
Changed: Multiset#classify, Multiset#classify_with returns a Multimap.
-
Added: Multimap#to_s, Multimap#inspect (No document)
-
Fixed: Wrong implementation of Multiset#to_s
0.2.0.2 / 2008-04-23¶ ↑
(ja)
-
(setup.rbの)GNU LGPLの文書を添付していなかったので追加
(en)
-
Added the text of GNU LGPL to the archive (for setup.rb)
0.3.0 / 2011-3-24¶ ↑
(ja)
-
Rubygemsでの公開を開始。
(en)
-
Released for Rubygems
0.4.0 / 2012-08-16¶ ↑
(ja)
-
テストケースを追加。
-
Multiset.parse_string、Multiset.parse_string?メソッドを削除。
-
Ruby1.9でString#eachが削除されたため。 文字列を行単位で区切ってMultisetにしたい場合は、Multiset.parse_forceを ご利用下さい。
-
-
Multiset.from_linesメソッドを新設。(文字列のみ渡せます。挙動はMultiset.parse_forceと同じです)
-
Multiset#countはEnumerable#countと同様、ブロックを与えることが可能になりました。
-
Multiset#each, Multiset#each_item, Multiset#each_pairは、ブロックを与えなかった場合にEnumeratorを返すようになりました。
-
以下のエイリアスを追加。(主に、Enumerableのメソッド名に合わせるため)
-
Multiset#sample (Multiset#randに同じ)
-
Multiset#group_by (Multiset#classifyに同じ)
-
Multiset#group_by_with (Multiset#classify_withに同じ)
-
Multiset#each_with_count (Multiset#each_pairに同じ)
-
-
以下の「含まれている要素とその個数について繰り返す」メソッドを追加。
-
Multiset#inject_with, Multiset#reduce_with
-
バージョン0.4.0より、以下のメソッドはArrayではなくMultisetを返します。
-
バージョン0.4.0より、以下のメソッドはHashではなくMultimapを返します。
-
Multiset#group_by (returned as a result of becoming an alias of Multiset#classify)
-
-
バージョン0.4.0より、以下のメソッドは冗長な処理を回避する仕様となっています。具体的には、これまではMultiset#eachに従って同じ要素を何度もブロックに渡していたものを、Multiset#each_itemに従って同じ要素は1度しかブロックに渡さなくなりました。例えば、Multiset[:a, :a, :a, :b].map{ … }は新しい挙動ではブロックを2回しか呼びません(これまでの挙動では4回呼んでいた)。
(en)
-
Added: Test codes
-
Removed: Multiset.parse_string, Multiset.parse_string?
-
Because Ruby 1.9 does not support String#each
-
Multiset.parse_force is still available.
-
-
Added: Multiset.from_lines (equivalent to Multiset.parse_force, but only a string is accepted)
-
Fixed: Multiset#count behaves like Enumerable#count: you can give it a block.
-
Fixed: Multiset#each, Multiset#each_item, Multiset#each_pair: they return an Enumerator if no block is given.
-
Added: Some aliases (mainly to fit with the methods in Enumerable)
-
Multiset#sample (alias of Multiset#rand)
-
Multiset#group_by (alias of Multiset#classify)
-
Multiset#group_by_with (alias of Multiset#classify_with)
-
Multiset#each_with_count (alias of Multiset#each_pair)
-
-
Added: Iteration methods which gives pairs of items/counts
-
Multiset#inject_with, Multiset#reduce_with
-
Modified: The following methods are to return a Multiset rather than an Array since version 0.4.0.
-
Modified: The following methods are to return a Multimap rather than a Hash of Arrays since version 0.4.0.
-
Multiset#group_by (returned as a result of becoming an alias of Multiset#classify)
-
-
Modified: To avoid redundancy, following methods are to scan the Multiset for each (non-duplicated) elements since 0.4.0, that is, the same behavior as Multiset#each_item. For example, Multiset[:a, :a, :a, :b].map{ … } calls the block for only twice, which is 4 times in the old behavior.
0.4.1 / 2013-12-02¶ ↑
(ja)
-
Multiset#each_**** および Multimap#each_**** が、ブロックなしで呼び出された場合にEnumeratorを返すようにした。 (ドキュメントに書いたのに実装を忘れてました…)
(en)
-
Multiset#each_**** and Multimap#each_**** returns an Enumerator if called without a block. (Forgot implementation although documented…)
0.5.0 / 2014-05-16¶ ↑
(ja)
-
空のmultisetに対して Multiset#sample を呼び出した場合、nilを返すようにした。(Array#sampleと挙動を合わせました)
(en)
-
Multiset#sample returns nil in case the multiset is empty. (The same behavior as Array#sample.)
0.5.1 / 2014-08-10¶ ↑
(ja)
-
いくつかのメソッドで、RDocのドキュメントに間違いがあったので修正。
(en)
-
Fixed argument descriptions of some methods in the RDoc document.
0.5.3 / 2017-04-28¶ ↑
(ja)
-
ドキュメントを修正(特に英語の記述について)。
-
Multimap#each_key が、ブロックを与えない場合にEnumeratorを返すようにした。
(en)
-
Fixed documentation, especially in English writing.
-
Multimap#each_key returns an Enumerator if no block is given.