I am a Newbie who has written some Ruby code - it actually works when
‘all in one file’. To make it more re-usable and practice good coding
style, I broke it into 2 - one for classes, one for test code. Call them
‘Textractor.rb’ and ‘main.rb’.
I’ve accepted that it is a simple error, but I can’t track it down. I am
posting so someone who has not stared at the code as long as I have may
see right away what is evading me.
I am working out of the ‘Pickaxe’ book, first edition, as a reference.
I tried Google-ing the error message, but no dice.
I also tried renaming the classes to include reference to the
Textractor.rb. BTW - Textractor.rb is three classes wrapped up in
If I omitted any key info. needed to diagnose the problem, it’s probably
because I didn’t recognize it as such, which in turn is probably where I
I keep getting the following error:
main.rb:59: uninitialized constant Main::TextElement (NameError) from
Now, TextElement is a properly named class in ‘Textractor.rb’.
My code is as follows:
Testing Logic Follows
Create a new document
doc1 = TextDocumentPortrait.new(“Document 1”)
THE LINE 56 BELOW GENERATES THE ERROR…:
for count in 0…10
Create a new line, element and add the element to the line
newLine = TextLinePortrait.new("Line " + count.to_s)
…IN REFERENCE TO THE FOLLOWING LINE 59:
newElement = TextElement.new(“Date”, dateElement, “R”)