From: gotoken@... (GOTO Kentaro) Date: 1999-04-19T19:35:59+09:00 Subject: [ruby-list:13885] destructive methods (Re: Re: What is Object in Ruby?) ごとけんです In message "[ruby-list:13883] destructive methods (Re: Re: What is Object in Ruby?)" on 99/04/19, Yukihiro Matsumoto writes: >|なるほどお。そういう立場もわかります。ちなみに破壊的とは >|何かに対する今の俺的解答はこう:それをやるのとやらないの >|ではその後のオブジェクトの振る舞いが違う。 > >なるほどお.それは納得できます. > >この場合,そのオブジェクトの振る舞いは一切変わらないが,別の >オブジェクトの振る舞いが変わってしまう(あるいは大域的な状態 >が変化する)ものは破壊的でしょうか? (それは迷っているので消したけど)戻り値だけでなくメソッド を使う側から知ることのできるあらゆる副作用も振る舞いの一 部と考えます。よってあるメソッドが例えば大域変数への代入 や push を行うなら、そのメソッドは破壊的とみなします。 # いまひとつ確信してないけど >私は私の思いがありますが,ごとけんさんのを先に聞きたいなあ ># 卑怯もの? んじゃ、今度はまつもとさんの番ね(^^; >ちなみにRubyは破壊的なメソッドに ! を付けるのではなく,「よ >り破壊的なメソッド」に ! を付けることで,この議論から逃げて >います. こういうズルさは実は好きです。 -- gotoken