From: nobu.nokada@... Date: 2004-05-26T08:41:34+09:00 Subject: Re: $SAFE idiom (Re: defining condititions) Hi, At Wed, 26 May 2004 08:13:25 +0900, Joel VanderWerf wrote in [ruby-talk:101419]: > > You don't need save $SAFE, which is always thread local. And, > > Proc also preserves its $SAFE value. Though this was an > > unofficial feature in 1.6, guaranteed from 1.8. > > Hm. Didn't know that. Also, methods preserve $SAFE: > > def foo; $SAFE=3; end > # => nil > $SAFE > # => 0 > foo > # => 3 > $SAFE > # => 0 Do you mean Method object? $ ruby19 -ve 'def foo;$SAFE=3;$SAFE;end;p method(:foo).call;p $SAFE' ruby 1.9.0 (2004-05-25) [i686-linux] 3 0 $ ruby19 -ve 'def foo;$SAFE=3;$SAFE;end;p foo;p $SAFE' ruby 1.9.0 (2004-05-25) [i686-linux] 3 3 $ ruby18 -ve 'def foo;$SAFE=3;$SAFE;end;p foo;p $SAFE' ruby 1.8.2 (2004-05-24) [i686-linux] 3 3 -- Nobu Nakada