以下のようなクラスとインスタンスについて考えていく。 Person = Class.new # Personクラスの作成(Classクラスのインスタンスの作成) naoty = Person.new # Personクラスのインスタンスの作成 今回はclass_evalとinstance_evalについて。どっちとも引数のブロック内の文字列をRubyコードとして評価して実行するのだが、実行するコンテキストが異なる。 Person.class_eval do def greet p 'Hello, my world!' end end naoty.greet #=> "Hello, my world!" class_evalはレシーバ(=Person)をクラスとしてブロック内を実行する。クラス内で実行されたのと同じ。 この場合、Personをクラスとしてgreetを定義しているので、gree