New instance (uninitialized constant)

I need to indicate where to find the Song class. With a module? I’m
looking for the simplest technique (hint pls):

C:\Documents and Settings\nsaunders\Desktop>
C:\Documents and Settings\nsaunders\Desktop>
C:\Documents and Settings\nsaunders\Desktop>type Song.rb
class Song
def initialize(name, artist, duration)
@name = name
@artist = artist
@duration = duration
end
end
C:\Documents and Settings\nsaunders\Desktop>
C:\Documents and Settings\nsaunders\Desktop>type Sing.rb
aSong = Song.new(“Bicylops”, “Fleck”, 260)
C:\Documents and Settings\nsaunders\Desktop>
C:\Documents and Settings\nsaunders\Desktop>Sing.rb
C:/Documents and Settings/nsaunders/Desktop/Sing.rb:1: uninitialized
constant So
ng (NameError)

C:\Documents and Settings\nsaunders\Desktop>
C:\Documents and Settings\nsaunders\Desktop>

thanks,

Thufir

On Nov 3, 2007, at 12:24 AM, Thufir wrote:

@duration = duration

C:\Documents and Settings\nsaunders\Desktop>
C:\Documents and Settings\nsaunders\Desktop>

Hint: Insert

require 'Song'

at the beginning of Sing.rb.

Regards, Morton

Thanks, Morton :slight_smile:

On Nov 2, 11:47 pm, [email protected] wrote:

class Song
C:\Documents and Settings\nsaunders\Desktop>Sing.rb

at the beginning of Sing.rb.

Or:
require ‘Song.rb’

The point being that you are specifying the name of the file to load
(with or without the .rb extension), not the name of the class. In
your example, they happen to be the same.

Just wanted to be clear about that for your future Ruby programming
endeavors.