dup -> object[permalink][rdoc][edit]-
オブジェクトの複製を作成して返します。
dup は、オブジェクトの内容をコピーします。 Object#clone と異なり、freeze の状態や特異メソッドはコピーされません。
浅いコピー・複製の詳細は Object#clone を参照してください。
obj = "string" def obj.fuga end obj.freeze p(obj.equal?(obj)) #=> true p(obj == obj) #=> true p(obj.frozen?) #=> true p(obj.respond_to?(:fuga)) #=> true obj_d = obj.dup p(obj.equal?(obj_d)) #=> false p(obj == obj_d) #=> true p(obj_d.frozen?) #=> false # clone と異なり freeze はコピーされない p(obj_d.respond_to?(:fuga)) #=> false # 特異メソッドもコピーされない[SEE_ALSO] Object#initialize_copy, Object#initialize_dup, Object#clone