「class_evalメソッド」
class_evalメソッドという厳ついメソッドを使わざるを得ない場面があった。 初見かつ苦手なモジュール関連のメソッドだったので復習としてまとめておこうと思う。
class_evalメソッドはそもそもRubyの標準クラス・モジュールのメソッドである。
正式には
class_evalメソッドは、ブロックをクラス定義やモジュール定義の中のコードであるように実行します。ブロックの戻り値がメソッドの戻り値になります。 Rubyリファレンス
具体例
class Greet end Color.class_eval { def hello; "hello" ;end }
🐤