[#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:4614] Re: Getting list of regexp matches

From: Dave Thomas <Dave@...>
Date: 2000-08-27 23:20:14 UTC
List: ruby-talk #4614
Brian Fundakowski Feldman <green@FreeBSD.org> writes:

> Hash.new may take an argument that specifies the default value for
> hash members.  To do it with empty arrays, for example:

>...

> Hope it helps!

'fraid not.

Currently the default parameter is evaluated just once, so all entries 
will default to having the same empty array.

  h = Hash.new(Array.new)
  h['cat'] << 'hello'
  h['dog'] << 'goodbye'
  puts h['cat'].inspect  #=> ["hello", "goodbye"]


However, there's some talk of a new syntax:

 h = Hash.new { stuff }

Where the block will be evaluated to create missing elements.


Regards


Dave

In This Thread