あるオブジェクトから別のオブジェクトに一連のインスタンス変数を追加するにはどうすればよいですか?
たとえば、ベースロボットがあり、アドオンを使用してカスタマイズできるロボットを想像してみてください。
クラスロボット
def initialize
@name="シンプルなロボット"
@power = nil #no power
@speed = nil
#その他の属性
終わり
def add_attributes(addon)
@power = addon.power
@speed = addon.speed
#アドオンが持つ残りの属性
終わり
終わり
メソッドを書き直してadd_attributes、アドオンの各属性を1つずつ書き込むのではなく、単純に反復処理したいと思います。これは、数十の属性が存在する可能性があるためです。
一部のアドオンには、Robotにはないインスタンス変数が含まれている場合があります。また、それらをRobotに追加したいと思います。その場でインスタンス変数を作成するのが好きですか?