「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧
「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧
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
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く