From: "K.Kosako" Date: 2000-12-21T18:39:52+09:00 Subject: [ruby-list:26688] Re: cgi.rb and Regexp::last_match > 前田です。 > > []がn番目の値を返すメソッドであるというのは、レシーバがArrayであっ > た場合などに限って成立することであって、nilにとって[]がn番目の値 > を返すものであるべきだとは言えないと思います。 > これは+やjoinなど他のメソッドにもついても同様で、メソッドの意味は > レシーバによって決まります。 []が再定義可能なメソッドであることを、うっかり忘れていました。 レベルが低くてすみません。 > したがって、NilClass#[]がnilを返すようにするということは、 > ary[2][1]の問題を考慮した特例を設けることを意味すると思います。 > そして、ary[2][1]の問題というのは、そのような特例を正統化するほど > には重大な問題ではないのではないか、というのが私の考えです。 obj.method()[n] メソッドが配列を返す場合、その要素の参照をいかに簡単にするか、 ということが、プログラマにとってそれほど重要な問題ではないのであれば、 私の提案は、正当化できませんね。 (実際に、賛同者が一人もいなかった...) --- 小迫@ソフネック 渋谷区恵比寿1-15-1