こんにちは,堀越です. From: gotoken / math.sci.hokudai.ac.jp Subject: [ruby-list:14418] substitution, variable (Re: はじめまして) Date: Fri, 21 May 1999 20:43:31 +0900 > ごとけんです さっそくの御教授ありがとうございます. > えっと、これは sub と sub! の違いというよりも、変数とオブジェ > クトの関係を理解されると納得できると思います。 > > 一言で言ってしまえば Ruby では変数とはオブジェクトにつける名 > 前のことで、代入(左辺 = 右辺)は常に名前をつける操作に相当し > ます。右辺に現れた変数はその変数が指すオブジェクトとみなされ > ます。そのため、 > ... > のように、today と date1 は同じオブジェクトを指しています。 やりたかったことは,配列要素を順に書き換える前に,別の処理のため 一部処理前のデータを保存しておくということでしたが,まだ,Cや Perlでの感覚を持ち込んでいるようです. > のように表示は同じ "1999/05/21" ですが別々のオブジェクトを指 > すことになります。んで、解決方法ですが、次のようなやり方があ > ります。 > ... > 1. sub を使う。 > ... > 2. dup 複製を作るメソッド dup を使う。 > ... > …てな感じですが疑問は解消されましたか?? 大変分かりやすかったです. 今の課題にはdupを使う方法を用いたいと思います. ありがとうございました. /****************************************************** 堀越 健治 (Kenji Horikoshi) k-horix / s.email.ne.jp ------------------------------------------------------- ローマは一日にしてならず.せめて二日はほしい. ******************************************************/