From: Thomas Sevestre Date: 2009-11-03T00:31:15+09:00 Subject: Re: ruby1.9.1 : Override string method Interesting! I wasn't aware of that. Is there any way to make it work? It is feasible in your generic example: def y(str, b) eval "/(.)/.match(str)", b p $1 end def x(str) y(str, binding) p $1 end x("abc") # => # # nil # "a" But in my case, I need to find the caller's binding : class String alias_method :old_sub!, :sub! def sub!(*args, &block) eval "old_sub!(*args, &block)", caller_binding end end But I havn't been able to retrieve it :( Do you have any idea? Thomas -- Posted via http://www.ruby-forum.com/.