Just do IT

思うは招く

2022-07-03から1日間の記事一覧

Ruby の dup と clone の違い

Rubyのリファレンスにはこう書かれている。 dup はオブジェクトの内容, taint 情報をコピーし、 clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します dup はオブジェクト内容とtaint情報をコピーする clone は上記に加えて…

Rubyのdupとは何か

結論: dupとはオブジェクトをコピーするメソッドです 細かく言うと「シャロウコピー(Shallow Copy)」します コレクション(配列やハッシュ)をdupするときは要注意です 破壊的な変更は同じobject_idを持つオブジェクトに影響が及ぶ dupのチカラ 配列やハ…

Ruby の eql? と equal? の違い

結論: eql?はオブジェクトの値が同じかどうかを評価する equal?はobject_idが同じかどうかを評価する irb(main):001:0> obj = %w(hoge bar baz) => ["hoge", "bar", "baz"] irb(main):003:0> copy = obj.dup => ["hoge", "bar", "baz"] # 値は同じなのでtru…