From: Shin'ya Adzumi Date: 2002-06-13T18:51:23+09:00 Subject: [ruby-dev:17430] return value from methods of Array's subclass あづみです。 Array のサブクラスで select や reject を使うと Array が返ってくる のですが、これは仕様でしょうか。サブクラス(下の例だと Array2)が 返ってきた方がありがたいと思うのですけど、どうでしょうか。 class Array2 < Array def inspect; type.to_s+super; end end p Array2[1,2,3].sort # => Array2[1, 2, 3] p Array2[1,2,3].uniq # => Array2[1, 2, 3] p Array2[1,2,3].reverse # => Array2[1, 2, 3] p Array2[1,2,3].select{|a| a%2==1} # => [1,3] p Array2[1,2,3].reject{|a| a%2==1} # => [2] p Array2[1,2,3].map{|a| a} # => [1,2,3] # 1.7 だと Enumerable#sort_by や Enumerable#partiton なんかも… 安積伸弥 adzumi@denpa.org