From: Derek Cannon on 19 Apr 2010 01:53 How do Ruby programmers handle method overloading? In Java, I could easily create several methods of the same name that accept a variety of input. I know in Ruby, using *args you can accept an unlimited number of parameters. Do I just this with a series of if statements? Or is there a common way Ruby programmers handle this? Thanks again, Derek -- Posted via http://www.ruby-forum.com/.
From: Kaspar Schiess on 19 Apr 2010 02:27 Hi, > Or is there a common way Ruby programmers handle this? There are some common patterns, like what you find in Rails for example: http://railsbrain.com/api/rails-2.3.2/doc/index.html?a=M002313&name=find I think overloading is very much attached to static typing and not as useful in dynamic languages as it seems. Creating more methods is free and generally more expressive. Polymorphism is implicit (look up what we call 'duck-typing' here). I find that I rarely have the need for overloading in Ruby (or that I overload all the time, depending on which way you look at it - no type signatures means that you can pass in anything at all) - and when I need it, I use the rails-kind named arguments. greetings, kaspar
From: Christopher Dicely on 19 Apr 2010 02:48 On Sun, Apr 18, 2010 at 10:53 PM, Derek Cannon <novellterminator(a)gmail.com> wrote: > How do Ruby programmers handle method overloading? In Java, I could > easily create several methods of the same name that accept a variety of > input. > > I know in Ruby, using *args you can accept an unlimited number of > parameters. Do I just this with a series of if statements? Mostly, I think instead of creating several methods of the same name, Ruby programmers tend to create methods with different names. Some of the use cases of overloading can also be addressed with optional arguments, trailing hash arguments, and so on.
From: Josh Cheek on 19 Apr 2010 03:34 [Note: parts of this message were removed to make it a legal post.] On Mon, Apr 19, 2010 at 12:53 AM, Derek Cannon <novellterminator(a)gmail.com>wrote: > How do Ruby programmers handle method overloading? In Java, I could > easily create several methods of the same name that accept a variety of > input. > > I know in Ruby, using *args you can accept an unlimited number of > parameters. Do I just this with a series of if statements? > > Or is there a common way Ruby programmers handle this? > > Thanks again, > Derek > -- > Posted via http://www.ruby-forum.com/. > > An easy thing to do is just normalize the data. def join_strings(a,b) a.to_s + b.to_s end join_strings 'a' , 'b' # => "ab" join_strings 1 , 2 # => "12"
From: botp on 19 Apr 2010 03:55 On Mon, Apr 19, 2010 at 1:53 PM, Derek Cannon <novellterminator(a)gmail.com> wrote: > How do Ruby programmers handle method overloading? ruby programmers do not need it > In Java, I could easily create several methods of the same name that accept a variety of > input. > maybe java people need it :) > I know in Ruby, using *args you can accept an unlimited number of > parameters. Do I just this with a series of if statements? no. you're doing it like in static languages. > Or is there a common way Ruby programmers handle this? it comes natural when you are *object*-oriented. there will be no need for overload. you wont even think about it. maybe you could show us a sample use case of method overloading since i cannot think of one right now ;-) best regards -botp
|
Next
|
Last
Pages: 1 2 Prev: [ANN] McBean 0.3.0 released Next: how to scrap data with Nokogiri from this page? |