한 객체에서 다른 객체로 인스턴스 변수를 어떻게 추가 할 수 있습니까?Ruby : 객체에 인스턴스 변수 추가
예를 들어 기본 로봇이 있고 추가 기능을 사용하여 사용자 정의 할 수있는 로봇을 상상해보십시오.
class Robot def initialize @name = "simple robot" @power = nil #no power @speed = nil # more attributes end def add_attributes(addon) @power = addon.power @speed = addon.speed #the rest of the attributes that addon has end end
내가 속성의 수십있을 수 원인이 단순히 그들에게 한 모든 일을 작성하는 대신 부가 기능의 각 속성을 반복하는 다시 쓰기 add_attributes
방법에 싶습니다.
일부 애드온에는 Robot에없는 인스턴스 변수가있을 수 있으며 Robot에도 추가하고 싶습니다. 즉석에서 인스턴스 변수를 생성하는 것과 같은 것입니까?
난 정말이 같은 부가 기능의 인스턴스 변수 들여다 보며 마음에 들지 않습니다. 애드온은 실제로 속성 목록을 가져 오는 통일 된 방법을 제공해야하며, 그 방법은 그 속성에 대해 호출 될 수 있습니다. 물론 주어진 정보를 가지고 있으면 가장 좋은 해결책 일 것입니다. –