From: Mauricio Fernandez Date: 2006-08-08T17:40:00+09:00 Subject: Re: How to make objects that can set $1 when obj =~ /(.)/ is called ? On Tue, Aug 08, 2006 at 02:51:37PM +0900, Tomasz Wegrzanowski wrote: > class Foo > def initialize(t) > @text = t > end > def =~(x) > @text =~ x > end > end > > And it works for non-capturing regexps, > but when we want to capture something > $1 etc. are bound only within the =~ method, > and when the method returns they are > restored to their previous values. > > Foo.new("Hello") =~ /(e)/ # => 1 > $1 # => nil > > Is it possible to somehow get =~ like that work, > even if it takes heavy metaprogramming hackery ? [ruby-talk:202600] -- Mauricio Fernandez - http://eigenclass.org - singular Ruby