[#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:4637] Re: Class methods

From: ts <decoux@...>
Date: 2000-08-29 14:12:40 UTC
List: ruby-talk #4637
>>>>> "M" == Mark Slagell <ms@iastate.edu> writes:

M> Lovely stuff!  Thanks.  The block_given? line gives me a "stack level too deep"
M> error (wassat mean?) but the rest fits the bill nicely.
 
 This is because you use 1.4.6 and Dave Thomas use 1.6.0

 To work with 1.4.6, you need 2 modifications

>> class Class
>> def method_missing(meth, *params)
>> if block_given?
 
   if iterator?

>> self.new(*params).send(meth) { |*p| yield *p }

   self.new(*params).send(meth) { |p| yield p }

>> else
>> self.new(*params).send(meth)
>> end
>> end
>> end

 1.4.6 interpret 'yield *p' as 'yield() * p'
 1.6.0 interpret 'yield *p' as 'yield(*p)' and give a warning with -w


Guy Decoux

In This Thread