Require

I am using require in two different ways and they both don’t work.
In case #1 I use it to read a file with a code snippet. The file is
located in the same directory. The code snipped defines an array
called code_words'. When trying to print it it says" "undefined local variable or methodcode_words’ for main:Object
(NameError)"

In the second case I have installed rubycoca and I’m trying to run the
sample problem. I has a “require osx/cocoa” statement. The error
message I get is “in `require’: no such file to load – osx/
cocoa (LoadError)”

Searching the Internet I found that other people have the same second
problem, but no answer was found on how to solve it.

Can anyone help?

Thanks ahead of time.

Are you defining the code_words variable as a local or instance
variable. You should do:

bash> cat code.rb
@code_words = [ ‘word1’, ‘word2’ ]

bash> cat word.rb
#!/usr/bin/env ruby

require ‘code’
@code_words += [ ‘word3’ ]
puts @code_words

bash> ruby word.rb
word1
word2
word3

Piet Versteegen wrote:

I am using require in two different ways and they both don’t work.
In case #1 I use it to read a file with a code snippet. The file is
located in the same directory. The code snipped defines an array
called code_words'. When trying to print it it says" "undefined local variable or methodcode_words’ for main:Object
(NameError)"

Be easier to answer if you provided some code.

The issue is the local defined in the external file is not accessable
in the scope where it is required. You can make the array global (call
it ‘$code_words’), or a constant (‘CODE_WORDS’) or put it inside a
module/class and access it appropriately.

In the second case I have installed rubycoca and I’m trying to run the
sample problem. I has a “require osx/cocoa” statement. The error
message I get is “in `require’: no such file to load – osx/
cocoa (LoadError)”

Searching the Internet I found that other people have the same second
problem, but no answer was found on how to solve it.

That should just be a matter of ensuring the path to the osx dir is in
the library path.
You can speciy the path in the RUBYLIB environment variable, or on the
ruby command line using -I or in your code by adding the path to $:

Cheers
Chris