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.