Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > Keyword arguments in Ruby

Reply
Thread Tools

Keyword arguments in Ruby

 
 
grom
Guest
Posts: n/a
 
      01-25-2004
Is it possbile for Ruby to have keyword arguments added in like in
Python.

Quote from Python documentation:

4.7.2 Keyword Arguments
Functions can also be called using keyword arguments of the form
"keyword = value". For instance, the following function:

def parrot(voltage, state='a stiff', action='voom', type='Norwegian
Blue'):
print "-- This parrot wouldn't", action,
print "if you put", voltage, "Volts through it."
print "-- Lovely plumage, the", type
print "-- It's", state, "!"

could be called in any of the following ways:

parrot(1000)
parrot(action = 'VOOOOOM', voltage = 1000000)
parrot('a thousand', state = 'pushing up the daisies')
parrot('a million', 'bereft of life', 'jump')

but the following calls would all be invalid:

parrot() # required argument missing
parrot(voltage=5.0, 'dead') # non-keyword argument following keyword
parrot(110, voltage=220) # duplicate value for argument
parrot(actor='John Cleese') # unknown keyword
 
Reply With Quote
 
 
 
 
Mauricio Fernández
Guest
Posts: n/a
 
      01-25-2004
On Sun, Jan 25, 2004 at 03:09:58PM +0900, grom wrote:
> Is it possbile for Ruby to have keyword arguments added in like in
> Python.


http://www.rubyist.net/~matz/slides/.../mgp00026.html

--
_ _
| |__ __ _| |_ ___ _ __ ___ __ _ _ __
| '_ \ / _` | __/ __| '_ ` _ \ / _` | '_ \
| |_) | (_| | |_\__ \ | | | | | (_| | | | |
|_.__/ \__,_|\__|___/_| |_| |_|\__,_|_| |_|
Running Debian GNU/Linux Sid (unstable)
batsman dot geo at yahoo dot com

We are using Linux daily to UP our productivity - so UP yours!
-- Adapted from Pat Paulsen by Joe Sloan


 
Reply With Quote
 
 
 
 
gabriele renzi
Guest
Posts: n/a
 
      01-25-2004
il 24 Jan 2004 22:09:53 -0800, http://www.velocityreviews.com/forums/(E-Mail Removed) (grom) ha
scritto::

>Is it possbile for Ruby to have keyword arguments added in like in
>Python.


They're going to be added in ruby2.0.

In the meanwhile you can
use instance eval to have something like this:
Parrot.new{action='voom'; type='norwegian blue'} like in the bindings
for Tk.
Or use an hash to do something like this:
Parrot.new(:action=>'voom',:type=>'norwegian_blue' )


 
Reply With Quote
 
gabriele renzi
Guest
Posts: n/a
 
      01-25-2004
il 24 Jan 2004 22:09:53 -0800, (E-Mail Removed) (grom) ha
scritto::

>Is it possbile for Ruby to have keyword arguments added in like in
>Python.
>


I supposed I answered but my msg didn't show up on comp.lang.ruby.
Sorry if I double post:

kwd args are goin to be included in ruby2.0
Until that you can emulate them via instance_eval like in tk

Parrot.new{state='a stiff'}
or explicitly using an hash:
Parrot.new(:state=>'a stiff')
 
Reply With Quote
 
Michael campbell
Guest
Posts: n/a
 
      01-25-2004
Mauricio Fernández wrote:

> On Sun, Jan 25, 2004 at 03:09:58PM +0900, grom wrote:
>
>>Is it possbile for Ruby to have keyword arguments added in like in
>>Python.

>
>
> http://www.rubyist.net/~matz/slides/.../mgp00026.html


It might be instructive for the newcomers to note that this slide refers to "visions for the future", not current functionality.




 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
RE: keyword checker - keyword.kwlist Hamilton, William Python 4 05-13-2007 06:31 AM
keyword checker - keyword.kwlist tom@finland.com Python 6 05-10-2007 04:53 PM
Keyword arguments in a block, possible with zero arguments? Peter Motzfeldt Ruby 1 03-13-2007 01:33 PM
Difference between default arguments and keyword arguments Edward Diener Python 14 04-05-2004 11:26 PM
logging module: log method with keyword arguments David Konerding Python 0 09-09-2003 11:40 PM



Advertisments