Ruby 2.1.0 リファレンスマニュアル > ライブラリ一覧 > setライブラリ > Enumerableモジュール > to_set
to_set(klass = Set, *args) -> Set
[permalink][rdoc] [added by set]
to_set(klass = Set, *args) {|o| ... } -> Set
[added by set]
Enumerable オブジェクトの要素から、新しい集合オブジェクトを作ります。
引数 klass を与えた場合、Set クラスの代わりに、指定した集合クラスのインスタンスを作ります。この引数を指定することで、SortedSet あるいはその他のユーザ定義の集合クラスのインスタンスを作ることができます (ここでいう集合クラスとは、Setとメソッド/クラスメソッドで互換性のあるクラスです)。引数 args およびブロックは、集合オブジェクトを生成するための new メソッドに渡されます。
require 'set'
p [30, 10, 20].to_set
#=> #<Set: {30, 10, 20}>
p [30, 10, 20].to_set(SortedSet)
#=> #<SortedSet: {10, 20, 30}>
MySet = Class.new(Set)
p [30, 10, 20].to_set(MySet)
#=> #<MySet: {10, 20, 30}>
p [30, 10, 20].to_set {|num| num / 10}
#=> #<Set: {3, 1, 2}>
[SEE_ALSO] Set.new