やったこと
Ruby で class_eval を使ってみます。
確認環境
$ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]
調査
test.rb
class Sample
end
Sample.class_eval %Q{
def hoge
p "Sample.class_eval"
p "self.class: #{self.class}"
p "__method__: #{__method__}"
end
}
Sample.new.hoge
実行結果
$ ruby test.rb
"Sample.class_eval"
"self.class: Object"
"__method__: "
method は空になりました。