From: reavey Date: 2003-02-19T09:31:21+09:00 Subject: help: append error on Array push hi I get an error "NameError: undefined method 'push' for nil from append" as I'm working thru the Prag prog ruby book. """We'll start our class with a basic initialize method, which creates the Array we'll use to hold our songs and store a reference to it in the instance variable @songs class SongList def initialize @songs = Array.new end end The SongList#append method adds the given song to the end of teh @songs array. It also returns self, a reference to the current SongList object. This is a useful convention, as it allows us to chain together multiple calls to appand... class Songlist def append(aSong) @songs.push(aSong) self end end list = SongList.new list. append(Song.new('title1', 'artist1', 1)). append(Song.new('title2', 'artist2', 2)) """ reports the error. I've worked through all the example code and have been very impressed. It is very instructive and is the only book I've seen that tries to teach using a real model. I'm writting all the code in irb. Also, a test like cSong = Song.new('title', 'artist', 245) works fine.