Hi,

In message "[ruby-talk:4892] Re: Re-binding a block"
    on 00/09/12, Dave Thomas <Dave / thomases.com> writes:

|Unfortunately, sing instance methods doesn't quite work for me.

|I've got this working, except I can't access instance variables during 
|the block's execution. The problem comes down to invoking the block
|passed to 'hook' using the then-caller's context, passing in a set of
|arguments at that time.
|
|Does anyone have any ideas?

Hmm, I don't think it's possible by plain Ruby.

Options:

  (1) provide a method to rebind Proc's self.
  (2) remove static from rb_yield_0() and make simple extension.
  (3) whatever else

|     hook :upcase do |_upcase, str|
|       res = _upcase(str)
|       res.tr '_', '~'
|     end
|
|   end
|
|The first parameter to the block is a proc object that wraps the
|original routine, and the remaining parameters are those supplied by
|the caller.

How did you do that.  Show me your (imcomplete?) code.

							matz.