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, becauseMultiset#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?
andMultiset#proper_superset?
, if the argument is not an instance ofMultiset
, 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 aMultimap
. -
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#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 ofMultiset#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 toMultiset.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 ofMultiset#rand
) -
Multiset#group_by
(alias ofMultiset#classify
) -
Multiset#group_by_with
(alias ofMultiset#classify_with
) -
Multiset#each_with_count
(alias ofMultiset#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 aHash
of Arrays since version 0.4.0.-
Multiset#group_by
(returned as a result of becoming an alias ofMultiset#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 asMultiset#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.