Newbie Problem


#1

I’m trying to teach myself Ruby(and then rails) using Pragmatic’s
“Programming Ruby” for the language part. I get the following error
under NetBeans:

C:/Program Files/NetBeans
6.5/ruby2/jruby-1.1.4/lib/ruby/site_ruby/1.8/builtin/core_ext/symbol.rb:1:in
`const_missing’: uninitialized constant Song (NameError)
from C:\Projects\RubyLearning\RubyApplication1\lib\main.rb:4

when I try to run a two-file project built from the first example in
Chapter 3:

song.rb:

Sample code from Programing Ruby, page 23

class Song
def initialize(name, artist, duration)
@name = name
@artist = artist
@duration = duration
end
end

main.rb:
a_song = Song.new(“Pie Jesu”, “Sarah Brightman”, “234”)
song.inspect

Any suggestions or help much appreciated. Also suggestions for some
newbie-tolerant discussion forum.

Thanks in advance.


#2

You have to require ‘song.rb’ in your main.rb file. Near the top of your
main.rb file place the following line (if they are both in the same
directory)
require ‘song.rb’

Scott


#3

removed_email_address@domain.invalid wrote:

Chapter 3:

main.rb:
a_song = Song.new(“Pie Jesu”, “Sarah Brightman”, “234”)
song.inspect

Have you require’d song.rb in you main.rb file?

It should look something like:

require ‘song’

a_song = Song.new(“Pie Jesu”, “Sarah Brightman”, “234”)
song.inspect

HTH

Matt


#4

Thank you. The require statement doesn’t get mentioned until about
fifty pages farther on. :slight_smile:

On Mon, 29 Dec 2008 18:09:47 -0500, Scott Lillibridge


#5

Thank you. The require statement doesn’t get mentioned until about
fifty pages farther on. :slight_smile:

The example doesn’t talk about separate files. That’s why it doesn’t
mention require.

mfg, simon … l