From: Yaser Sulaiman Date: 2008-12-07T22:47:53+09:00 Subject: Re: Very Basic Question ------=_Part_65957_15319255.1228658052372 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Using => in method calls used to puzzle me. I encountered this for the first time in FXRuby, and then in Ruby on Rails. It turned out that Ruby allows you to give a hash when invoking a method, where arguments to the method get rolled up into one hash variable. Consider this example (stolen from the Ruby Programming Wikibook[0]): def accept_hash(var) print "got: ", var.inspect end accept_hash :arg1 => 'giving arg1', :argN => 'giving argN' Hope you find this helpful. Regards, Yaser Sulaiman [0] http://en.wikibooks.org/wiki/Ruby_Programming P.S. In the 1st edition of Programming Ruby, it is mentioned that keyword arguments "are scheduled to be implemented in Ruby 1.8". Is this it (i.e. the keyword arguments feature), or is it something else? On Sun, Dec 7, 2008 at 11:50 AM, Chad Perrin wrote: > On Sun, Dec 07, 2008 at 04:49:46PM +0900, Gilman Gunn wrote: > > Hi all, > > > > I have a very basic question... what does "=>" mean? Two books I have > > looked at started using it without explaining and it is filtered in most > > searches. > > > > My guess is that it has something to do with assignment but am not sure. > > > > If anyone could shed some light on this it would be much appreciated. > > In addition to being used to assign values in hashes, it is also how the > interactive Ruby interpreter (called "irb") shows the return value for an > expression. For instance, at my tcsh console one might see this: > > ~> irb > irb(main):001:0> foo = 'first' > => "first" > irb(main):002:0> bar = 'second' > => "second" > irb(main):003:0> print foo, ' and ', bar, "\n" > first and second > => nil > > These return value indicators are useful for figuring out exactly what a > given expression does when writing code -- you may have an editor open in > which you are writing a program and, in another terminal emulator window, > have irb running so you can check how various expressions are evaluated > so you don't have to guess or constantly search through documentation to > be sure you're using expressions correctly. > > The `=>` in this usage is not actually part of the code, though the `=>` > in hash assignments *is* part of the code (of course). > > I hope that helps. Other than those two uses of the `=>` character > sequence, nothing springs immediately to mind. > > -- > Chad Perrin [ content licensed OWL: http://owl.apotheon.org ] > Quoth Bjarne Stroustrup: "An ugly operation should have an ugly > syntactic form." > ------=_Part_65957_15319255.1228658052372--