From: Mac Flores Date: 2008-02-29T22:45:24+09:00 Subject: HELP: NameError: uninitialized constant OK. I'm learning Ruby by going through the examples in Programming Ruby by Dave Thomas. Somehow I'm stuck and I cannot progress further. I have 3 files all in the same folder -- Song.rb, SongList.rb and TestSongList.rb. Code is as follows: ## Song.rb class Song attr_reader :name, :artist, :duration attr_writer :duration @@plays=0 def initialize(name,artist,duration) @name=name @artist=artist @duration=duration @plays=0 end end ## SongList.rb def SongList def initialize @songs = Array.new end def append(song) @songs.push(song) self end end ## TestSongList.rb require 'test/unit' class TestSongList < Test::Unit::TestCase def test_delete list = SongList.new s1 = Song.new('title1','artist1',1) s2 = Song.new('title2','artist2',2) s3 = Song.new('title3','artist3',3) s4 = Song.new('title4','artist4',4) list.append(s1).append(s2).append(s3).append(s4) assert_equal(s1, list[0]) end end So I run the test and I get this: [ookman@foorubyfiles]$ ruby ./TestSongList.rb Loaded suite ./TestSongList Started E Finished in 0.000414 seconds. 1) Error: test_delete(TestSongList): NameError: uninitialized constant TestSongList::SongList ./TestSongList.rb:4:in `test_delete' 1 tests, 0 assertions, 0 failures, 1 errors Can anybody tell me why it's giving me the above error on this line? list = SongList.new I've tried to do: require 'SongList' at the top of TestSongList.rb but I get the same error. I've Googled this problem but I cannot find a resolution. I also tried to run the TestSongList code one line at a time in irb and it gives me the same error when it reaches line 4. Ruby version is: ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-linux] I appreciate any insight .... TIA! -- Posted via http://www.ruby-forum.com/.