Forum: Ruby Newbie Problem

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
unknown (Guest)
on 2008-12-30 01:05
(Received via mailing list)
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
`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:

# Sample code from Programing Ruby, page 23
class Song
  def initialize(name, artist, duration)
    @name     = name
    @artist   = artist
    @duration = duration

a_song ="Pie Jesu", "Sarah Brightman", "234")

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

Thanks in advance.
Scott Lillibridge (Guest)
on 2008-12-30 01:10
(Received via mailing list)
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
require 'song.rb'

Matt H. (Guest)
on 2008-12-30 01:11
(Received via mailing list)
removed_email_address@domain.invalid wrote:
> Chapter 3:
> main.rb:
> a_song ="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 ="Pie Jesu", "Sarah Brightman", "234")


unknown (Guest)
on 2008-12-30 02:35
(Received via mailing list)
Thank you. The require statement doesn't get mentioned until about
fifty pages farther on. :)

On Mon, 29 Dec 2008 18:09:47 -0500, Scott Lillibridge
Simon K. (Guest)
on 2008-12-30 06:35
(Received via mailing list)
* <removed_email_address@domain.invalid> (01:30) schrieb:

> Thank you. The require statement doesn't get mentioned until about
> fifty pages farther on. :)

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

mfg,                         simon .... l
This topic is locked and can not be replied to.