여러 인수를 취하는 메서드를 재정의하는 하위 클래스가있는 기본 클래스가 있습니다.Splat 연산자 및 메서드 재정의
class Parent
def foo *bar
end
end
class Child < Parent
def foo bar, baz
end
end
잘 작동합니다.
def foobar *foo_args
foo foo_args
end
이것은 Child.new.foo 두 객체를 기대하면서 foo_args는, 하나 개의 배열이기 때문에 자식 인스턴스라는하면 ArgumentError을 제기하지만, foo를 호출 부모의 메소드는 foobar가 가정합니다. 이 문제를 해결할 방법이 있습니까?
이걸 재현 할 수 없습니다. 귀하의 코드는 Ruby 2.1 및 1.8.7에서 잘 작동합니다. 내가 아는 한, 부모와 자녀가 일치해야하는 서명 방법에 대해 잘못되었습니다. Ruby에는 이러한 요구 사항이 없습니다. 이것은 잘 작동합니다 : http://pastebin.com/g5VgzKPX – meagar
정확히 - Ruby에서 이것은 런타임 메시지 디스패치의 문제입니다. – WarHog
당신이하려는 일은 전혀 명확하지 않습니다. – sawa