제 문제는 Struct.new를 확장하는 많은 클래스가 있다는 것입니다. 그리고 이제 모든 클래스에 공통 클래스 메서드를 추가해야합니다. Struct가 '정상'수퍼 클래스 인 경우 클래스 메소드를 정의 할 수 있으며 모든 서브 클래스에도 해당 메소드가 있습니다.클래스 메소드를 갖기 위해 Struct.new에 의해 생성 된 모든 클래스를 어떻게 만들 수 있습니까?
감안할 때,이 동작을 어떻게 복제합니까? 예를 들어 ,
class Foo < Struct.new(:foo); end
Foo.respond_to?(:perform) #=> true
class Bar < Struct.new(:bar); end
Bar.respond_to?(:perform) #=> true
모듈에 정의하고 하위 클래스에 포함하십시오. –
이것은 처음 접근 이었지만 오류가 발생하기 쉽습니다. –