Real Beginner Question - (NameError)

Hi !
I'm going my way through a Ruby online tutorial right now and i have
following problem:

I have two files. File one:

wordlist.rb

code_words = {
   'starmonkeys' => 'Phil and Pete, those prickly chancellors of the New
Reich',
   'catapult' => 'chucky go-go', 'firebomb' => 'Heat-Assisted Living',
   'Nigeria' => "Ny and Jerry's Dry Cleaning (with Donuts)",
   'Put the kabosh on' => 'Put the cable box on'
   }

makeSwamp.rb

#!/usr/bin/env ruby

require 'wordlist'

# Get evil idea and swap in code words
  print "Enter your new idea: "
   idea = gets
   code_words.each do |real, code|
      idea.gsub!( real, code )
   end

# Save the jibberish to a new file
  print "File encoded. Please enter a name for this idea: "
   idea_name = gets.strip
   File::open( "idea-" + idea_name + ".txt", "w" ) do |f|
      f << idea
   end

When i execute the makeSwamp.rb file i can enter a "new idea" but than i
get:

./makeSwamp.rb:8: undefined local variable or method `code_words' for
main:Object (NameError)

(line 8 is: code_words.each do |real, code| )

Why ??? I've run kdiff and its exactly as in the tutorial... Maybe its
just to late for me..

···

--
Posted via http://www.ruby-forum.com/.

Hello. There is an unfortunate error in the design of that example.
This exact question comes up from time to time on this list. (:

I searched the archives[1] for "Heat-Assisted Living" and came up with
this thread:
http://rubyurl.com/FeV

It looks to have some good answers in it.

Hope that helps,
-Harold

[1]: http://groups.google.com/group/comp.lang.ruby/topics

···

On 3/21/07, CSZ <chschwar@uos.de> wrote:

Hi !
I'm going my way through a Ruby online tutorial right now and i have
following problem:

When you require (or load) a file, the local variables are not brought
in. Try changing code_words to a global variable by making it
"$code_words" (in both files). Or if you think it's more appropriate,
change it to a constant by making it "CodeWords" in both files.

Eric

Are you interested in on-site Ruby training that uses well-designed,
real-world, hands-on exercises? http://LearnRuby.com

···

On Mar 20, 11:49 pm, CSZ <chsch...@uos.de> wrote:

When i execute the makeSwamp.rb file i can enter a "new idea" but than i
get:

/makeSwamp.rb:8: undefined local variable or method `code_words' for
main:Object (NameError)

(line 8 is: code_words.each do |real, code| )

Why ??? I've run kdiff and its exactly as in the tutorial... Maybe its
just to late for me..