From: Take_tk Date: 2003-08-31T20:57:36+09:00 Subject: [ruby-list:38307] Re: 配列における「変数のモデル」 たけ(tk)です。 [ruby-list:38306] Re: 配列における「変数のモデル」 にて Kenta MURATA さん 曰く: > > (5−1)変数の値が変わる、といっても、代入によって変数が指し示している > > オブジェクトが入れ替わる場合と、破壊的メソッドによって変数が指し示してい > > るオブジェクトの状態が変わる場合とがある。 > > Ruby の変数が持っている値はオブジェクトのリファレンスなので, > 破壊的なメソッド呼び出しでは変数の値は変化しませんよね. G:\DOWNLOAD\ruby-1.8.0-20030404-i386-mswin32\bin>ruby -e "a='a';p a;a<<'b';p a" "a" "ab" > > (6−1)オブジェクトは直接扱うことはできない。オブジェクトを変数から > > 「取り出す」ことは出来ない。 > > オブジェクトを直接扱う事もできますよ. > > [ 1, 2, 3, 4, 5 ].each{|i| ... } > > とかできますから.  うむむ…。「リテラル:プログラム中に直接登場するオブジェクト」(『Ruby 本』p.566)と書いてありますねぇ…。  リテラルもオブジェクト空間に存在するオブジェクトを指し示すものだと思う んだかなぁ…。どうなんだろ? G:\DOWNLOAD\ruby-1.8.0-20030404-i386-mswin32\bin>ruby -e "p [1,2,3].id" 21121800 ← これはオブジェクト空間でのアドレスを示しているはず。 take_tk = kumagai hidetake