0

このコードは、Rails Crash Course book からのものです。

class Accessor
  def self.accessor(attr)
    class_eval "
      def #{attr}
        @#{attr}
      end

      def #{attr}=(val)
        @#{attr} = val
      end
    "
  end
end

のサブクラスは、 getter および setter メソッドを生成したい属性名でメソッドAccessorを呼び出すことにより、getter および setter メソッドを作成できるという考え方です。accessor

class Element < Accessor
  accessor :name
...

しかし、なぜ in を使用するのselfですdef self.accessor(attr)か?

4

1 に答える 1