From: sinara@... Date: 1996-12-27T18:53:05+09:00 Subject: [ruby-list:1550] Re: C++ ¥桼¥¶ ¤Τ¿¤á¤μê°ú (Ver. 0.1.1) 原です。 破壊的操作とは相対的な概念で、変数に対して使われるんですよね。 「変数 a に対して破壊的」という風に。 と、確認しておいて、 > まつもと ゆきひろです. > |例えば上の foo(a) は、配列 a に対して破壊的な作用をしてい > |るのですが、b[0] = "B" は破壊的な操作ではないですよね。し > |いていえば、 > > b[0] = "B" は破壊的な操作です.bから(aからも)参照されている > 配列の内容を破壊的に変更しています. これは a, b にとっては破壊的ということですよね。では、「しいて いえば」以下の | a[0] = "B" は、a にとっては破壊的な操作であるが、a[0] にと | っては破壊的でない。 は間違いですか?「a[0] にとっては破壊的でない」といってもい いですよね。もし a[0] = "B" が a[0] にとっても破壊的というな らば、a[0].sub!(/./, "B") は a[0] にとって何と言えばいいだろ う。「壊滅的」ぐらいにいわなけりゃいけない。:-) しかし、 > オブジェクトの状態(コンテナの内容も含めて)を変更するものはみ > な破壊的です.ですから, というのを読むと「スクリプト中に(上で述べた相対的な意味で)破 壊的な効果を受ける変数が1つでも存在するとき、その操作は破壊的 であるという」ということみたいですね。だとすると私の言葉使いが ずれていたということになります。 ---===-=-=-=-=-=-=-=-=======--=-=-=-==-=-===-=-=-=-=-=-=--=-==-=-- Shin-ichro Hara(Nagaoka Univ.of Tech.)