[#4766] Wiki — "Glen Stampoultzis" <trinexus@...>

21 messages 2000/09/04
[#4768] RE: Wiki — "NAKAMURA, Hiroshi" <nahi@...> 2000/09/04

Hi, Glen,

[#4783] Re: Wiki — Masatoshi SEKI <m_seki@...> 2000/09/04

[#4785] Re: Wiki — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/09/05

Howdy,

[#4883] Re-binding a block — Dave Thomas <Dave@...>

16 messages 2000/09/12

[#4930] Perl 6 rumblings -- RFC 225 (v1) Data: Superpositions — Conrad Schneiker <schneik@...>

Hi,

11 messages 2000/09/15

[#4936] Ruby Book Eng. translation editor's questions — Jon Babcock <jon@...>

20 messages 2000/09/16

[#5045] Proposal: Add constants to Math — Robert Feldt <feldt@...>

15 messages 2000/09/21

[#5077] Crazy idea? infix method calls — hal9000@...

This is a generalization of the "in" operator idea which I

17 messages 2000/09/22

[#5157] Compile Problem with 1.6.1 — Scott Billings <aerogems@...>

When I try to compile Ruby 1.6.1, I get the following error:

15 messages 2000/09/27

[ruby-talk:4897] Re: Re-binding a block

From: matz@... (Yukihiro Matsumoto)
Date: 2000-09-12 15:19:53 UTC
List: ruby-talk #4897
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.

In This Thread