0

2つのサブクラス化配列を連結しようとしました。

ただし、MyArrayではなくArrayクラスを返します。

class MyArray < Array
end

foo = MyArray.new
bar = MyArray.new
p foo.class #=> MyArray
p (foo + bar).class #=> Array

MyArrayクラスを連結するにはどうすればよいですか?

4

1 に答える 1

2

MyArrayクラスでメソッドを定義し、を使用しますsuper。また、alias_method:+、:concatを使用することもできます。

def concat(some_array)
  super
end

p foo.concat(bar).class #=> MyArray
于 2013-03-10T08:44:19.413 に答える