[#7968] array .{first, last, at} — Kazunori NISHI <kazunori@...>

西@九大です。

25 messages 1999/10/07
[#7969] Re: array .{first, last, at} — nobu.nakada@... 1999/10/07

なかだです。

[#7983] Re: array .{first, last, at} — Kazunori NISHI <kazunori@...> 1999/10/12

西@九大です。

[#7984] Re: array .{first, last, at} — matz@... (Yukihiro Matsumoto) 1999/10/12

まつもと ゆきひろです

[#7985] [patch] Array#delete_at w/ minus value — EGUCHI Osamu <eguchi@...> 1999/10/12

えぐち@エスアンドイーです。

[ruby-dev:7996] Re: [patch] Array#delete_at w/ minus value

From: EGUCHI Osamu <eguchi@...>
Date: 1999-10-13 03:45:56 UTC
List: ruby-dev #7996
えぐち@エスアンドイー です。

>>> 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 <eguchi@cagiva.shizuokanet.ne.jp> 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 でもないのも
最初はかなり「きもちわるぅ」と思いました。(私だけ?)

	えぐち

In This Thread