Undefined method `push' for Array:Class

hi there, I’m trying to add objects onto the end of an array and I’m
getting a NoMethodError with the message “undefined method `push’ for
Array:Class”. This makes no sense to me as “push” should be defined for
an Array…?

Any help would be great, thanks!

On Mon, Aug 25, 2008 at 9:45 PM, Amanda … [email protected]
wrote:

hi there, I’m trying to add objects onto the end of an array and I’m
getting a NoMethodError with the message “undefined method `push’ for
Array:Class”. This makes no sense to me as “push” should be defined for
an Array…?

Array#push is an instance method of the Array class, you need to
invoke it on array objects.

On Monday 25 August 2008, Amanda … wrote:

hi there, I’m trying to add objects onto the end of an array and I’m
getting a NoMethodError with the message “undefined method `push’ for
Array:Class”. This makes no sense to me as “push” should be defined for
an Array…?

Any help would be great, thanks!

It seems your code is something like

Array.push ‘a’

This doesn’t work because push is an instance method of the Array class,
that
is: you need to call it on an individual array (an instance of class
Array),
not on the Array class itself. This is how you should do it:

a = Array.new

a.push ‘string’

or

[1,2,3].push 4

(the syntax [1,2,3] creates an array, instance of class Array,
containing the
items 1, 2 and 3).

I hope this helps

Stefano

Stefano C. wrote:

It seems your code is something like

Array.push ‘a’

This doesn’t work because push is an instance method of the Array class,
that is: you need to call it on an individual array (an instance of class
Array), not on the Array class itself. This is how you should do it:

a = Array.new

a.push ‘string’

I hope this helps

Stefano

Thanks a lot, that’s exactly what I needed to know :slight_smile: