[#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:5063] Default values for named formal parameters

From: Robert Feldt <feldt@...>
Date: 2000-09-22 10:10:02 UTC
List: ruby-talk #5063
Hi,

We have some sort of named formal parameters, ie you can do

def m(params)
  params['p1'] + params['2']
end

m('p1' => "Hello ", 'p2' => "world!") # -> "Hello world!"

but is there a nice way to have default values for the named parameters?
Ie. I would like

def m(params = {'p1'=>"Hello ", 'p2'=>" world!"})
  params['p1'] + params['p2']
end

m('p2' => "Matz!") # -> "Hello Matz!"

One way you can do it today is with

def m(params)
  params = {'p1'=>"Hello",'p2'=>" world!"}.update(params)
  params['p1'] + params['p2']
end

but if they should really be named formal parameters I guess you should be
able to specify default values with a simpler syntax. Or what do you
think? How do you do it yourself when you classes with lots of options? I
made a small module for this once but I'm thinking on extending it...

Regards,

Robert


In This Thread

Prev Next