From: matz@... (Yukihiro Matsumoto) Date: 1999-10-13T13:02:26+09:00 Subject: [ruby-dev:7997] Re: [patch] Array#delete_at w/ minus value まつもと ゆきひろです In message "[ruby-dev:7996] Re: [patch] Array#delete_at w/ minus value" on 99/10/13, EGUCHI Osamu writes: |matz> atって名前からは範囲を取り出してはいけないような印象がありま |matz> す。個人的な印象ですが。 | |そうすると、 Array#at は Array#[] のサブセットですか? そうですね。 |また Array#at= (左辺値版 Array#[]= に相当)ってありですか? 現状では ary.at(25)=4 のような式は許していないのですが、将来 は可能性があるでしょう。いや ary.at_put(25,4) とか。^^;;; |matz> | * void を代入すると対応する要素削除 |matz> | * 範囲外の要素の参照で void を返す |matz> | |matz> | と言う仕組みを考えてみました。 |matz> |matz> うむむ、これは... なんか旧来のnilの働きの一部に別の名前を与 | |後者は、『旧来のnilの働きの一部に別の名前を与えた』 |そのものですが、 nil ではないので、要素が無いのか、 |あるいは nil が入っているのか、が判別できます。 いや、意図は分かるんですよね。 |「気持ち悪い」という感覚はわかります。 |が、 nil が [] でも false でもないのも |最初はかなり「きもちわるぅ」と思いました。(私だけ?) いや、私もです。諸般の事情でnilとfalseを分離したときには相当 気持ち悪かったです。今思えば、しょうがなかったと思うけど。 で、あの同じ気持ち悪さ(いや、今回は1.5倍か)をもう一度味わう のはいやだなあってことです。よっぽどの理由があれば別ですが。 まつもと ゆきひろ /:|)