0

我试图连接两个子类数组。

但它返回一个数组类而不是 MyArray。

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 回答