# Module\_eval via a wrapper method does not rewrite klass

**URL:** <https://www.ruby-forum.com/t/module-eval-via-a-wrapper-method-does-not-rewrite-klass/133778>\
**Category:** Development\
**Created:** [April 3, 2008, 2:39pm UTC](https://www.ruby-forum.com/t/module-eval-via-a-wrapper-method-does-not-rewrite-klass/133778 "2008-04-03T14:39:13Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yugui](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/ac91a4/32.png) [@Yugui](https://www.ruby-forum.com/u/Yugui)\
**Post date:** [April 3, 2008, 2:39pm UTC](https://www.ruby-forum.com/t/module-eval-via-a-wrapper-method-does-not-rewrite-klass/133778/1 "2008-04-03T14:39:13Z")

</div>

Yuguie$B$G$9!#e(B

[Ruby 1.9のmodule\_evalとブロック付きメソッド呼び出し - Blog by Sadayuki Furuhashi](http://d.hatena.ne.jp/viver/20080107/p1) e$B$K=q$+$l$F$$$kLdBj$re(B  
e$BD4$Y$F$\_$^$7$?!#e(B  
module\_evale$B$rB\>$N%a%=%C%I$G$/$k$`$H!"%a%=%C%IDj5A@h$,=q$-49e(B  
e$B$o$C$F$$$^$;$s!#e(B

e$B$b$&\>/$7\>$7$$\>u67$,e(B [2008-01-09](http://d.hatena.ne.jp/viver/20080109/)  
p1 e$B$KJs9p$5$l$F$$$^$9!#e(B

e$B8=:\_$Ne(Btrunke$B$G$b:F8=$7$^$9!#e(B[ruby-dev:34093]e$B$H$OD\>e(B  
e$B@$N4X78$O$J$5$=$&$G$9!#e(B  
e$B?\F#$5$s$N%Q%C%A$rEv$F$F$b:F8=$7$^$9!#e(B

# module\_eval.rb:

# class Module def my\_module\_eval(&block) module\_eval(&block) end end class String Integer.my\_module\_eval do def hoge; end end end p Integer.instance\_methods(false).map{|m|m.to\_sym}.include?(:hoge) p String.instance\_methods(false).map{|m|m.to\_sym}.include?(:hoge)

e$B$3$l$r\<B9T$9$k$H!"\<!$N$h$&$G$9!#e(B  
$ ruby -v module\_eval.rb  
ruby 1.8.6 (2007-09-24 patchlevel 111) [i686-darwin9.2.0]  
true  
false  
$ ruby-trunk -v module\_eval.rb  
ruby 1.9.0 (2008-03-29 revision 0) [i686-darwin9.2.0]  
false  
true

vm\_insnhelper.c:1074 (vm\_define\_method)e$B$K$Fe(Bklass = cref-\>nd\_class  
e$B$,!“K\Mhe(B  
rb\_cIntegere$B$G$”$k$Y$-$H$3$m!"e(Brb\_cStringe$B$K$J$C$F$$$^$9!#e(B

e$B%U%l!\<%`$N@Q$_J}$rD4$Y$h$&$H$7$?$N$G$9$,!";d$NCN\<1$G$O$^$@M}e(B  
e$B2r$G$-$F$$$^$;$s!#e(B  
e$B$b$&\>/$7D4$Y$F$_$k$D$b$j$G$$$^$9$,!"\<1\<T$K65$($F$$$?$@$1$k$He(B  
e$B4r$7$$$G$9!#e(B
