原です。
In message "[ruby-list:13963] Re: destructive methods (Re: Re: What is Object in Ruby?)"
on 99/04/21, GOTO Kentaro <gotoken / math.sci.hokudai.ac.jp> writes:
|
|ごとけんです
|>その手のものは全て etc... で undef していると思って下さい。(^^;
|
|なる。んじゃ非破壊的です。呼出側で決して違いを知ることが
|できなければ破壊的とは考えません。
なるほど徹底しているのですね。
|>|でわ質問:「IO#gets は ==-破壊的ですか??」
|>
|>素朴に答えると、IO#== は Object#== をそのまま使っているの
|>で id だけで判断されるから「==-破壊的」でない。それが気に
|>入らないなら自分で == を定義し直して下さい、って所かしら。
|
|なるほど。しかしこれも実行不可能な概念なのですね。実行後
|のオブジェクトと実行前のオブジェクトは比べられないから。
そうなのです。そこがかえって面白いと思うのですが。在るもの
が変化したことを認識するには過去の状態に対する記憶が必要で
あるのだから。
そこでまた思いついたのですが、コピーメソッドαと同値判定
メソッドβをペアにして「α/β-破壊的」という概念を作る。
これは具体的に書けますね。すると
Array の push, []= は dup/== -破壊的である
と表現できる。