Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > setライブラリ > Setクラス > clone
clone -> Set
[permalink][rdoc]dup -> Set
集合を複製して返します。
dup は、集合の内容と taint 情報のみコピーします。 clone は、それに加えて、freeze 情報と特異メソッドをコピーします。 いずれも共通して、内部記憶として保持するハッシュもコピーしますが、 集合の要素そのものはコピーしません。
ただし、Ruby 1.8 の Set クラスでは、内部記憶として用いるハッシュには taint 情報および freeze 情報が付加されないので、taint 情報および freeze 情報のコピーは実質的な効果を持ちません。
s1 = Set[10, 20] s2 = s1.dup s2 << 30 p s1 #=> #<Set: {20, 10}> p s2 #=> #<Set: {30, 20, 10}>
[SEE_ALSO] Object#clone