[#10209] Market for XML Web stuff — Matt Sergeant <matt@...>

I'm trying to get a handle on what the size of the market for AxKit would be

15 messages 2001/02/01

[#10238] RFC: RubyVM (long) — Robert Feldt <feldt@...>

Hi,

20 messages 2001/02/01
[#10364] Re: RFC: RubyVM (long) — Mathieu Bouchard <matju@...> 2001/02/05

[#10708] Suggestion for threading model — Stephen White <spwhite@...>

I've been playing around with multi-threading. I notice that there are

11 messages 2001/02/11

[#10853] Re: RubyChangeRequest #U002: new proper name for Hash#indexes, Array#indexes — "Mike Wilson" <wmwilson01@...>

10 messages 2001/02/14

[#11037] to_s and << — "Brent Rowland" <tarod@...>

list = [1, 2.3, 'four', false]

15 messages 2001/02/18

[#11094] Re: Summary: RCR #U002 - proper new name fo r indexes — Aleksi Niemel<aleksi.niemela@...>

> On Mon, 19 Feb 2001, Yukihiro Matsumoto wrote:

12 messages 2001/02/19

[#11131] Re: Summary: RCR #U002 - proper new name fo r indexes — "Conrad Schneiker" <schneik@...>

Robert Feldt wrote:

10 messages 2001/02/19

[#11251] Programming Ruby is now online — Dave Thomas <Dave@...>

36 messages 2001/02/21

[#11469] XML-RPC and KDE — schuerig@... (Michael Schuerig)

23 messages 2001/02/24
[#11490] Re: XML-RPC and KDE — schuerig@... (Michael Schuerig) 2001/02/24

Michael Neumann <neumann@s-direktnet.de> wrote:

[#11491] Negative Reviews for Ruby and Programming Ruby — Jim Freeze <jim@...> 2001/02/24

Hi all:

[#11633] RCR: shortcut for instance variable initialization — Dave Thomas <Dave@...>

13 messages 2001/02/26

[#11652] RE: RCR: shortcut for instance variable initialization — Michael Davis <mdavis@...>

I like it!

14 messages 2001/02/27

[#11700] Starting Once Again — Ron Jeffries <ronjeffries@...>

OK, I'm starting again with Ruby. I'm just assuming that I've

31 messages 2001/02/27
[#11712] RE: Starting Once Again — "Aaron Hinni" <aaron@...> 2001/02/27

> 2. So far I think running under TextPad will be better than running

[#11726] Re: Starting Once Again — Aleksi Niemel<zak@...> 2001/02/28

On Wed, 28 Feb 2001, Aaron Hinni wrote:

[ruby-talk:10560] Re: Giving a Proc utility methods?

From: Aleksi Niemel<zak@...>
Date: 2001-02-08 10:54:00 UTC
List: ruby-talk #10560
On Thu, 8 Feb 2001, The Other Clemens wrote:

> IMHO: The reason for this behavior is, that the block closure "takes" its
> binding upon its creation time, which in your case is the "main context"
> of the program. 

True.

> This means you would have to define fail() in the global
> scope in order to let the block code see it. The block closure object
> (class Proc) is just a wrapper consisting of the code (i.e. the block)
> and the binding, but it is NOT the scope of the block(-code). 
> 
> Don't know whether you like this solution better:
> 
> class Foo
>   attr :err
> 
>       def initialize (&meth)
>         @err = meth
>       end
> 
>       def fail (msg)
>         puts msg
>       end
>         
>       def throw_err (msg)
>         @err[msg, self]
>       end
> end
> 
> # I want to preserve this closure...
> bar = "testing..."
> 
> # Example showing the callback works
> my_foo = Foo.new {| msg, other | puts msg + bar}
> my_foo.throw_err "Trial 1: "
> 
> # Example of what I *wanted* to do...
> my_foo = Foo.new {| msg, other | other.fail (msg + bar)}
> my_foo.throw_err "Trial 2: "
> 
> 
> Clemens (the other ;-)

Let me reiterate. This runs and is closer to Ben's original idea of
being able to define a method to the proc object itself. Ben will
probably sort out if any of these versions is what he's after.

    - Aleksi

    class Foo
      attr :err

      def initialize (&meth)
        # TRY to add the method?
        def meth.fail (msg)
          puts msg
        end
        @err = meth
      end

      def throw_err (msg)
        @err[@err, msg]    # give "self" as a first param
      end
    end

    # I want to preserve this closure...
    bar = "testing..."

    # Example showing the callback works
    my_foo = Foo.new {|block, msg| puts msg + bar}
    my_foo.throw_err "Trial 1: "

    # Example of what I *wanted* to do...
    my_foo = Foo.new {|block, msg| block.fail msg + bar}
    my_foo.throw_err "Trial 2: "





In This Thread