Home     |     .Net Programming    |     cSharp Home    |     Sql Server Home    |     Javascript / Client Side Development     |     Ajax Programming

Ruby on Rails Development     |     Perl Programming     |     C Programming Language     |     C++ Programming     |     IT Jobs

Python Programming Language     |     Laptop Suggestions?    |     TCL Scripting     |     Fortran Programming     |     Scheme Programming Language


 
 
Cervo Technologies
The Right Source to Outsource

MS Dynamics CRM 3.0

Ruby Programming Language

operator =>


Hi I have a beginner question

What does the => operator do?

here is the example code from the book

class Product < ActiveRecord::Base
  has_many :orders, :through *=>* :line_items
  #...

Alle marted 29 maggio 2007, Gian Holland ha scritto:

> Hi I have a beginner question

> What does the => operator do?

> here is the example code from the book

> class Product < ActiveRecord::Base
>   has_many :orders, :through *=>* :line_items
>   #...

=> is not an operator, its simply the syntax used to create hashes:

h = {:a => 1, :b=>2}

creates an hash with keys :a and :b, corresponding to values 1 and 2
respectively. When you need to pass an hash as the last argument of a method,
ruby allows you to omit the braces, so your call to has many means:

has_many( :orders, {:through => :line_items} )

In other words, you're passing two arguments to the method has_many: the first
is the Symbol :orders; the second is a Hash with one key (:through) and one
value (:line_items)

Stefano

Thanks so much

On 5/29/07, Stefano Crocco <stefano.cro@alice.it> wrote:

On Thu, May 31, 2007 at 02:57:19AM +0900, Gian Holland wrote :

> >=> is not an operator, its simply the syntax used to create hashes:

> >h = {:a => 1, :b=>2}

Looking at the trunk, my understanding is that it will be replaced by :
in a next release? Correct?

--
,========================.
| Pierre-Alexandre Meyer |
| email : p@mouraf.org |
`========================'

Hi,

At Thu, 31 May 2007 17:24:42 +0900,
Pierre-Alexandre Meyer wrote in [ruby-talk:253715]:

> > >h = {:a => 1, :b=>2}

> Looking at the trunk, my understanding is that it will be replaced by :
> in a next release? Correct?

It's a syntax sugar but traditional syntax is still valid.  The
above example is equivalent to:

  h = {a: 1, b: 2}

--
Nobu Nakada

Add to del.icio.us | Digg this | Stumble it | Powered by Megasolutions Inc