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…?
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.
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).
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
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.