From: Koji Arai Date: 2002-08-31T11:20:52+09:00 Subject: [ruby-dev:18114] Object#become 新井です。 become をリファレンスに書きました。 | become(obj) (()) | | self の内容を obj ですり替えます。obj は、 self と同じクラスのインスタンス | である必要があります。そうでなければ例外 TypeError が発生します。 become は、Object のインスタンスの場合だけ、インスタンス変数 を引き継ぐようですが、これはオブジェクトの特性がインスタンス 変数の違いでしかあらわれないからといったところでしょうか? 一般に特異メソッドやインスタンス変数などは引き継がないと考え た方がよいですよね? String#replace は、String#become ですが、Array#replace や Hash#replace は違うようです。これは何か理由がありますか? become とreplace を使い分ける上での指針のようなもの。 -- 新井康司 (Koji Arai)