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 Mon, Aug 25, 2008 at 9:45 PM, Amanda .. <a.etherton@hotmail.com> 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...?
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
···
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...?
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