From: Ben Tilly Date: 2001-02-08T22:17:10+09:00 Subject: [ruby-talk:10571] Re: Giving a Proc utility methods? wys@helbling.ch (Clemens Wyss) wrote: > >Aleksi Niemel wrote in >: > >I meant it seems the proc has hard times to refer to itSelf at > >runtime. I'd guess this is actually pretty common operation (although > >I haven't used it ever) because it's pretty common for normal methods to > >refer the instance object with self. > > >...again, "self" in the block-code is NOT the Proc object but the "main >context" of the program. And "def meth.fail(msg)" does not extend (the >context of) "self" but the Proc object. Your solution does look closer to >Ben's but object-wise it isn't. Both of your solutions work. Personally I prefer passing in the current object explicitly because then I don't need to do so much work if I want to bind more methods, plus it is then easier to subclass my class with even more utility methods. I still wish there was a way to make the original idea work though. But I guess I can live without. >I don't see real need for accessing the Proc object. This is the second time I have tried to access the Proc object and failed to get it working correctly. The other time I was trying to create an anonymous recursive subroutine. (Just to see if I could.) Oops. So accessing the Proc object from within the anonymous subroutine is something that I could see uses for. But I can't say that the feature is worth the complexity. Cheers, Ben _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com