Class | Multiset |
In: |
multiset.rb
|
Parent: | Object |
Rubyによる多重集合(マルチセット)の実装です。 通常の集合(Rubyでは"set"ライブラリ)と異なり、多重集合は 同一の要素を複数格納することができます。
メソッド名は基本的にSetクラスに合わせてあります。またSetクラスが持つ メソッドの大部分を実装していますが、いくつか未実装なものもあります。
Ruby implementation of multiset. Unlike ordinary set(see Ruby documentation for "set" library), multiset can contain two or more same items.
Most methods’ names are same as those of Set class, and all other than a few methods in Set class is implemented on Multiset class.
インストールはsetup.rbによって行われます。詳しくはINSTALL.ja.txtをご覧下さい。
setup.rb performs installation. See INSTALL.en.txt for more information.
Author: | Maraigue(f52.aaa.livedoor.jp/~maraigue/) |
Version: | 0.132(2008/4/23) |
Copyright: | (C)2008 Maraigue |
このプログラムはBSDライセンスにて提供する 無 保 証 のプログラムです。 詳細はBSDLicense.txtをご覧下さい。
日本語の参考訳は以下のURLにあります。 sourceforge.jp/projects/opensource/wiki/licenses%2Fnew_BSD_license ただし、法的にはBSDLicense.txtに書かれた英語の文章のみが有効です。
setup.rbはMinero Aoki氏(i.loveruby.net/)の制作です。 setup.rbのみは、GNU LGPL(version 2.1)のライセンスが適用されます。 GNU LGPLについてはGNU_LGPL.txtをご覧下さい。
This program is distributed with ABSOLUTELY NO WARRANTY, under BSD License. See BSDLicense.txt for more detail.
setup.rb is made by Minero Aoki(i.loveruby.net/). Only setup.rb is distributed under GNU LGPL(version 2.1). See GNU_LGPL.txt for more detail.
listに含まれる要素からなる多重集合を生成します。 listを省略した場合、空の多重集合を生成します。
listにはEnumerableであるオブジェクトのみ 指定できます。そうでない場合、例外ArgumentErrorが 発生します。
Generates multiset from items in list. If list is omitted, returns empty multiset.
list must be Enumerable. If not, ArgumentError is raised.
selfに、addcount個のitemを追加します。 成功した場合はselfを、失敗した場合はnilを返します。
Adds addcount number of items to self. Returns self if succeeded, or nil if failed.
selfから、delcount個のitemを削除します。 成功した場合はselfを、失敗した場合はnilを返します。
Deletes delcount number of items from self. Returns self if succeeded, nil otherwise.
ブロックにselfの要素を順次与え、 結果が真であった要素をすべて削除します。 selfを返します。
Gives all items in self to given block, and deletes that item if the block returns true. Returns self.
selfに含まれるすべての要素について繰り返します。 selfを返します。
Iterates for each item in self. Returns self.
selfに含まれるすべての要素について、重複を許さずに繰り返します。 selfを返します。
Iterates for each item in self, without duplication. Returns self.
selfに含まれるすべての要素とその個数について繰り返します。 selfを返します。
Iterates for each pair of item and its number in self. Returns self.
self中に含まれる多重集合を平滑化します。 平滑化した多重集合が1つでもあればselfを、 そうでなければnilを返します。
Flattens multisets in self. Returns self if any item is flattened, nil otherwise.
selfに含まれている要素(重複は除く)からなる配列を返します。
Returns an array with all items in self, without duplication.
Multiset#mapと同様ですが、結果として生成される多重集合でselfが 置き換えられます。selfを返します。
Same as Multiset#map, but replaces self by resulting multiset. Returns self.
Multiset#map_withと同様ですが、結果として生成される多重集合で selfが置き換えられます。selfを返します。
Same as Multiset#map_with, but replaces self by resulting multiset. Returns self.
selfがotherに真に含まれているかどうかを返します。 「真に」とは、両者が一致する場合は含めないことを示します。
Returns whether self is a proper subset of other.
selfがotherを真に含んでいるかどうかを返します。 「真に」とは、両者が一致する場合は含めないことを示します。
Returns whether self is a proper superset of other.
selfの要素を無作為に1つ選んで返します。 すべての要素は等確率で選ばれます。
Returns one item in self randomly. All items are selected with same probability.
selfに含まれるitemの個数をnumber個にします。 numberが負の数であった場合は、number = 0とみなします。 成功した場合はselfを、失敗した場合はnilを返します。
Sets number of item to number in self. If number is negative, treats as number = 0. Returns self if succeeded, nil otherwise.
selfからotherの要素を取り除いた多重集合を返します。
Returns multiset such that items in other are removed from self.
selfをHashに変換して返します。 生成されるハッシュの構造については、Hash#to_multisetをご覧下さい。
Converts self to a Hash. See Hash#to_multiset about format of generated hash.
selfを通常の集合(Ruby標準添付のSet)に 変換したものを返します。
このメソッドを呼び出すと、require "set"が行われます。
なおSetをMultisetに変換するには、Multiset.new(instance_of_set)で 可能です。
Converts self to ordinary set (The Set class attached to Ruby by default).
require "set" is performed when this method is called.
To convert Set to Multiset, use Multiset.new(instance_of_set).