-
Notifications
You must be signed in to change notification settings - Fork 3
/
History.txt
242 lines (201 loc) · 9.19 KB
/
History.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
=== 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(http://i.loveruby.net/ja/projects/setup/)を用いたインストールに対応した。
(en)
* Made setup.rb(http://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#find_with, Multiset#detect_with
* Multiset#find_all_with, Multiset#select_with
* Multiset#reject_with
* Multiset#inject_with, Multiset#reduce_with
* Multiset#max_with
* Multiset#min_with
* Multiset#minmax_with
* Multiset#max_by_with
* Multiset#min_by_with
* Multiset#minmax_by_with
* Multiset#sort_with
* Multiset#sort_by_with
* バージョン0.4.0より、以下のメソッドはArrayではなくMultisetを返します。
* Multiset#map, Multiset#collect
* Multiset#map!, Multiset#collect!
* Multiset#find_all, Multiset#select
* Multiset#grep
* Multiset#reject
* バージョン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回呼んでいた)。
* Multiset#map, Multiset#collect
* Multiset#map!, Multiset#collect!
* Multiset#find_all, Multiset#select
* Multiset#grep
* Multiset#reject
* Multiset#reject!
* Multiset#delete_if
* Multiset#classify
* Multiset#max
* Multiset#min
* Multiset#minmax
* Multiset#max_by
* Multiset#min_by
* Multiset#minmax_by
* Multiset#sort
* Multiset#sort_by
(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#find_with, Multiset#detect_with
* Multiset#find_all_with, Multiset#select_with
* Multiset#reject_with
* Multiset#inject_with, Multiset#reduce_with
* Multiset#max_with
* Multiset#min_with
* Multiset#minmax_with
* Multiset#max_by_with
* Multiset#min_by_with
* Multiset#minmax_by_with
* Multiset#sort_with
* Multiset#sort_by_with
* Modified: The following methods are to return a Multiset rather than an Array since version 0.4.0.
* Multiset#map, Multiset#collect
* Multiset#map!, Multiset#collect!
* Multiset#find_all, Multiset#select
* Multiset#grep
* Multiset#reject
* 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.
* Multiset#map, Multiset#collect
* Multiset#map!, Multiset#collect!
* Multiset#find_all, Multiset#select
* Multiset#grep
* Multiset#reject
* Multiset#reject!
* Multiset#delete_if
* Multiset#classify
* Multiset#max
* Multiset#min
* Multiset#minmax
* Multiset#max_by
* Multiset#min_by
* Multiset#minmax_by
* Multiset#sort
* Multiset#sort_by
=== 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.