09/05/24 05:45:31
>>182
Rubyのあらゆる変数(や定数)はただの参照タグだ
a = HogeObject.new は HogeObject.new の処理の最後を辿って(return してた)そのオブジェクトに存在を許して
それに a という参照タグを1個つけるという行為
b = a は a の処理の最後を辿って、つまりは a の返り値のオブジェクト、に b という参照タグを追加する行為
Ruby スクリプトは変数の名前を後生大事に覚えてるわけじゃない
Rubyはスクリプトのそれが変数名だとわかったら、その変数が参照している先にあるオブジェクト
(の保管場所を表す数値「オブジェクトID」)だけを記憶する
だから、
a = なにか
b = a
と書いた時点で、変数 a も変数 b も全く同一のオブジェクトを指す(つまり、一般的にはあまり意味がない)
a = "なにか"
p a.object_id
b = a
p b.object_id
p a.object_id == b.object_id