<< == push?

I was just prepping a code sample for somebody out in the big wide
world, and doing that always makes me review my code, and I noticed I
was using Array#push a lot instead of << (I think that’s Array#<<
actually?).

So, kind of a basic question, is << basically just idiomatic Ruby for
push? (This was a Rails project with a lot of custom JavaScript and I
think I just got in that particular mindset.)

Hi –

On Wed, 29 Nov 2006, Giles B. wrote:

I was just prepping a code sample for somebody out in the big wide
world, and doing that always makes me review my code, and I noticed I
was using Array#push a lot instead of << (I think that’s Array#<<
actually?).

So, kind of a basic question, is << basically just idiomatic Ruby for
push? (This was a Rails project with a lot of custom JavaScript and I
think I just got in that particular mindset.)

I think the only difference is that push can take more than one
argument.

David

On Wed, 29 Nov 2006 [email protected] wrote:

push? (This was a Rails project with a lot of custom JavaScript and I
think I just got in that particular mindset.)

I think the only difference is that push can take more than one
argument.

also

<< : generally returns self to allow chaining

push : generally returns the elements pushed

-a

Hi –

On Wed, 29 Nov 2006, [email protected] wrote:

push : generally returns the elements pushed

I’m not seeing that:

irb(main):003:0> [1,2,3].push(4,5)
=> [1, 2, 3, 4, 5]
irb(main):004:0> [1,2,3] << 4
=> [1, 2, 3, 4]

David

argument.
=> [1, 2, 3, 4, 5]
irb(main):004:0> [1,2,3] << 4
=> [1, 2, 3, 4]

ah, that explains something. I couldn’t open up my old code without
fiddling with it a bit, but changing << to push() across the board
killed something in the functionality. I didn’t have time to find out
exactly what, but I think it’s the only-one-arg thing that did it.