From: EGUCHI Osamu Date: 1999-10-13T14:26:14+09:00 Subject: [ruby-dev:8002] Re: [patch] Array#delete_at w/ minus value えぐち@エスアンドイー です。 >>> In message [ruby-dev:8001] Re: [patch] Array#delete_at w/ minus value On Wed, 13 Oct 1999 14:16:07 +0900, matz@netlab.co.jp (Yukihiro Matsumoto) said: matz> まつもと ゆきひろです matz> matz> In message "[ruby-dev:8000] Re: [patch] Array#delete_at w/ minus value" matz> on 99/10/13, EGUCHI Osamu writes: matz> matz> |このお話を聞くと、 Hash (や Array) の要素に nil を matz> |値としていれるのは、基本的に間違い(と言う程ではないけど例外的) matz> |だという態度が想定されているんですね。 matz> matz> Hashについては現状では要素(value)として格納できませんし、そ matz> のような態度を仕様が強制していると言えるでしょう。Arrayの場 matz> 合にはそこまでは断言できませんが、設計者のニュアンスだとnil matz> には「ないはずの値を表す値」がありますから、例外的といえない matz> ことはないでしょう。 配列の場合 Array#compact! に滲み出てますよね。 delete_if() { |elm| elm == nil } なんだけど、この(nil を削除する)ケースをメソッドにするあたり。。 matz> # 一見自由なようでいて、こういう「強制」とか「推奨」とかが言 matz> # 語(ライブラリ)仕様に含まれているってのがRubyのバベル17たる matz> # ところなのですが。 そぉかぁ、知らないうちに誘導されてたんだぁ ^^l えぐち