エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント2件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Rubyでディープコピー
Rubyでオブジェクト(配列)を変数に代入すると、「shallow copy(浅いコピー)」されます。 これは、C++で... Rubyでオブジェクト(配列)を変数に代入すると、「shallow copy(浅いコピー)」されます。 これは、C++で言う参照コピーであり、Cで言うポインタ渡しと同じ挙動です。 ◆exp. shallow copy a = [0,1,2] b = a b[1] = 3 p "a = " + a.to_s p "b = " + b.to_s 実行結果は、 "a = 032" "b = 032" となります。『"a = 012"』で無い所に注意が必要。 shallow copyなのでbを変更すると コピー元のaも変更されます。 では、bを変更しても『"a = 012"』としたい場合はどうするか。 『deep copy(深いコピー)』すれば良いのです。 deep copyを実装するのに Marshalモジュールを使います。 Rubyリファレンスマニュアル#Marshal ◆exp. deep
2009/11/08 リンク