From: EGUCHI Osamu Date: 1999-10-13T12:45:56+09:00 Subject: [ruby-dev:7996] Re: [patch] Array#delete_at w/ minus value えぐち@エスアンドイー です。 >>> In message [ruby-dev:7995] Re: [patch] Array#delete_at w/ minus value On Wed, 13 Oct 1999 12:24:00 +0900, matz@netlab.co.jp (Yukihiro Matsumoto) said: matz> まつもと ゆきひろです matz> matz> In message "[ruby-dev:7994] Re: [patch] Array#delete_at w/ minus value" matz> on 99/10/13, EGUCHI Osamu writes: matz> matz> |ところで、一晩寝たらいろいろ思い付いたのですが。 matz> | matz> | + array[begin..end], array[begin, length] に対応する matz> | array.delete_at(begin..end), array(begin, length) matz> | も組合せ的には、意味ありげですね。 matz> matz> atって名前からは範囲を取り出してはいけないような印象がありま matz> す。個人的な印象ですが。 そうすると、 Array#at は Array#[] のサブセットですか? また Array#at= (左辺値版 Array#[]= に相当)ってありですか? matz> | + あと nil のような特殊な変数(定数?) void を導入して。 matz> | matz> | * void を代入すると対応する要素削除 matz> | * 範囲外の要素の参照で void を返す matz> | matz> | と言う仕組みを考えてみました。 matz> matz> うむむ、これは... なんか旧来のnilの働きの一部に別の名前を与 後者は、『旧来のnilの働きの一部に別の名前を与えた』 そのものですが、 nil ではないので、要素が無いのか、 あるいは nil が入っているのか、が判別できます。 どれから、void の前者の性質から、配列(ハッシュ)の要素に void が入っている事は無いので、単に 「nil が詰まっているかの判断だけの為の特殊値」 と言う意味に留まりません。 # void が入っているケースは配慮不要。 matz> えたような気がします。なんだか気持ち悪い。 「気持ち悪い」という感覚はわかります。 が、 nil が [] でも false でもないのも 最初はかなり「きもちわるぅ」と思いました。(私だけ?) えぐち