-2

我有一个带有子类的基类,这些子类覆盖了一个采用多个参数的方法。

class Parent
  def foo *bar
  end
end

class Child < Parent
  def foo bar, baz
  end
end

这工作正常。但是,假设 Parent 中有一个调用 foo 的方法 foobar:

def foobar *foo_args
  foo foo_args
end

这在 Child 实例上调用时会引发 ArgumentError,因为 foo_args 是一个单独的数组,而 Child.new.foo 需要两个对象。有没有解决的办法?

4

1 回答 1

1

你的问题不清楚,但我认为这可能是你想要的:

def foobar *foo_args
  foo(*foo_args)
end

尽管如此,Child.new.foo它必须恰好采用两个参数才能不引发错误。

于 2015-01-14T19:51:40.630 回答