Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > What is meant by << operator ???

Reply
Thread Tools

What is meant by << operator ???

 
 
Muhammad mohsin ali Ma
Guest
Posts: n/a
 
      01-10-2009
What is meant by << operator?

For example this operator is used in following code,


/************************************************** ***/
def add_product(product)
current_item = @items.find {|item| item.product == product}
if current_item
current_item.increment_quantity
else
current_item = CartItem.new(product)
@items << current_item
end
current_item
end
/************************************************** ***/
--
Posted via http://www.ruby-forum.com/.

 
Reply With Quote
 
 
 
 
Jan-Erik R.
Guest
Posts: n/a
 
      01-10-2009
Muhammad mohsin ali Ma schrieb:
> What is meant by << operator?
>
> For example this operator is used in following code,
>
>
> /************************************************** ***/
> def add_product(product)
> current_item = @items.find {|item| item.product == product}
> if current_item
> current_item.increment_quantity
> else
> current_item = CartItem.new(product)
> @items << current_item
> end
> current_item
> end
> /************************************************** ***/

it appends the object "current_item" to the Array @items

 
Reply With Quote
 
 
 
 
Muhammad mohsin ali Ma
Guest
Posts: n/a
 
      01-10-2009
Do u know right syntax of form tag?
--
Posted via http://www.ruby-forum.com/.

 
Reply With Quote
 
FrihD
Guest
Posts: n/a
 
      01-10-2009
Hello,

Muhammad mohsin ali Ma wrote:
> What is meant by << operator?


It is not an operator, but actually is the method "<<". So it depends on
the object that receives this method.

> def add_product(product)
> current_item = @items.find {|item| item.product == product}
> if current_item
> current_item.increment_quantity
> else
> current_item = CartItem.new(product)
> @items << current_item
> end
> current_item
> end


Consequently given that @items certainly is an Array, it appends
current_item to @items which seems quite intuitive.

--Lucas
 
Reply With Quote
 
Gary Wright
Guest
Posts: n/a
 
      01-10-2009

On Jan 10, 2009, at 3:29 PM, FrihD wrote:
> Muhammad mohsin ali Ma wrote:
>> What is meant by << operator?

>
> It is not an operator, but actually is the method "<<". So it
> depends on the object that receives this method.



We just had a long rambling thread about operators vs. methods: <http://blade.nagaokaut.ac.jp/cgi-bin...by-talk/323906
>


I'd describe '<<' as a re-definable operator. Syntactically it is an
operator but its semantics are defined by an associated method.

Ruby also has operators that can't be redefined: || && or and not ! ?:

There are often semantics associated with operators that shouldn't be
disregarded without thought. For example:

lhs << rhs

often means that rhs will 'added' to lhs modifying lhs in the
process. On the other hand:

lhs + rhs

generally means new object formed by 'adding' rhs' to 'lhs' will be
returned and that lhs will not be modified.

Ruby doesn't enforce these semantics but developers shouldn't ignore
them either.

Gary Wright



 
Reply With Quote
 
Tim Greer
Guest
Posts: n/a
 
      01-11-2009
FrihD wrote:

> It is not an operator, but actually is the method "<<". So it depends
> on the object that receives this method.


Actually, it depends on what it depends on, because it's both (either
or). It's a method, or just an operator (<< left shift bitwise
operator), or as an append operator. I suppose it's all in the use and
wording, though.
--
Tim Greer, CEO/Founder/CTO, BurlyHost.com, Inc.
Shared Hosting, Reseller Hosting, Dedicated & Semi-Dedicated servers
and Custom Hosting. 24/7 support, 30 day guarantee, secure servers.
Industry's most experienced staff! -- Web Hosting With Muscle!
 
Reply With Quote
 
David A. Black
Guest
Posts: n/a
 
      01-11-2009
Hi --

On Sun, 11 Jan 2009, Tim Greer wrote:

> FrihD wrote:
>
>> It is not an operator, but actually is the method "<<". So it depends
>> on the object that receives this method.

>
> Actually, it depends on what it depends on, because it's both (either
> or). It's a method, or just an operator (<< left shift bitwise
> operator), or as an append operator. I suppose it's all in the use and
> wording, though.


The method-ness has a certain primacy, in the sense that this:

a << b

is always a method call; that is, it is always the same as:

a.<<(b)

The syntactic sugar, however, has the clear purpose of making it look
like an infix operator. I think it's an operator kind of the way
"attributes" are attributes -- that is, mainly in the eye of the
beholder. The language really doesn't care whether we call things
attributes and operators, so it's all about what helps people make
sense of it.


David

--
David A. Black / Ruby Power and Light, LLC
Ruby/Rails consulting & training: http://www.rubypal.com
Coming in 2009: The Well-Grounded Rubyist (http://manning.com/black2)

http://www.wishsight.com => Independent, social wishlist management!

 
Reply With Quote
 
Tim Greer
Guest
Posts: n/a
 
      01-11-2009
David A. Black wrote:

> Hi --
>
> On Sun, 11 Jan 2009, Tim Greer wrote:
>
>> FrihD wrote:
>>
>>> It is not an operator, but actually is the method "<<". So it
>>> depends on the object that receives this method.

>>
>> Actually, it depends on what it depends on, because it's both (either
>> or). It's a method, or just an operator (<< left shift bitwise
>> operator), or as an append operator. I suppose it's all in the use
>> and wording, though.

>
> The method-ness has a certain primacy, in the sense that this:
>
> a << b
>
> is always a method call; that is, it is always the same as:
>
> a.<<(b)
>
> The syntactic sugar, however, has the clear purpose of making it look
> like an infix operator. I think it's an operator kind of the way
> "attributes" are attributes -- that is, mainly in the eye of the
> beholder. The language really doesn't care whether we call things
> attributes and operators, so it's all about what helps people make
> sense of it.
>
>
> David
>


That's pretty much what I was saying, too. (Or trying to say). I
personally don't care how people refer to things, provided it conveys
the intent and function. It's all good to me.
--
Tim Greer, CEO/Founder/CTO, BurlyHost.com, Inc.
Shared Hosting, Reseller Hosting, Dedicated & Semi-Dedicated servers
and Custom Hosting. 24/7 support, 30 day guarantee, secure servers.
Industry's most experienced staff! -- Web Hosting With Muscle!
 
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
What is meant by ClassCastException gayathri Java 2 03-16-2006 05:59 PM
This is what I meant about highlighting a section of a large map... Guy Doucet HTML 7 06-05-2005 09:11 PM
What is meant by Static name Mohammed A khader VHDL 2 03-02-2005 11:57 AM
Re: Sorry, meant ASP.NET Cowboy \(Gregory A. Beamer\) [MVP] ASP .Net 7 08-18-2004 04:59 PM
Re: Sorry, meant ASP.NET Shawn South ASP .Net 0 08-17-2004 05:32 PM



Advertisments