[#4567] Re: What's the biggest Ruby development? — Aleksi Niemel<aleksi.niemela@...>

Dave said:

18 messages 2000/08/23
[#4568] Q's on Marshal — Robert Feldt <feldt@...> 2000/08/23

[#4580] RubyUnit testcase run for different init params? — Robert Feldt <feldt@...> 2000/08/25

[#4584] Re: RubyUnit testcase run for different init params? — Dave Thomas <Dave@...> 2000/08/25

Robert Feldt <feldt@ce.chalmers.se> writes:

[#4623] Re: RubyUnit testcase run for different init params? — Robert Feldt <feldt@...> 2000/08/28

On Sat, 26 Aug 2000, Dave Thomas wrote:

[#4652] Andy and Dave's European Tour 2000 — Dave Thomas <Dave@...>

24 messages 2000/08/30
[#4653] Re: Andy and Dave's European Tour 2000 — matz@... (Yukihiro Matsumoto) 2000/08/30

Hi,

[#4657] Ruby tutorials for newbie — Kevin Liang <kevin@...> 2000/08/30

Hi,

[ruby-talk:04340] Re: TABWTDI and Hash.new([])

From: Hugh Sasse Staff Elec Eng <hgs@...>
Date: 2000-08-08 08:59:31 UTC
List: ruby-talk #4340
On Tue, 8 Aug 2000, ts wrote:

> >>>>> "H" == Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
> 
> H> So when you wrote that function before, you had already expanded it in
> H> your head beforehand, so the short form never made it into the file. 
> H> Is that what you mean here?
> 
>  yes :-)

OK.
> 
> H> I have not delved into the source yet, so I don't see how this piece fits
> H> into the discussion here :-)
> 
>  When you write :
> 
>        def x(a, b = [], *rest, &block)
>        end
> 
>  ruby will create 2 nodes :
>  
>    * a node NODE_ARGS for (a, b = [], *rest)
>    * a node NODE_BLOCK_ARG for &block
> 
>  the NODE_BLOCK_ARG make something equivalent to :
> 
>     block = nil
>     if iterator?
>        block = Proc.new
>     end
> 

I see where this fits in now. Thank you.  I had forgotten that any 
function can take a block, and when I had remembered this in the
past I had only remmebered about using it with yield.  If iniitialize
were to use yield, then one would not get a new call to the block
when a previously undefined object is created, so this use of the
Proc.new is more flexible.
> 
> Guy Decoux
> 
	Hugh


In This Thread

Prev Next