Ruby require local file problem

I have two files foo.rb and test.rb in the same folder.

test.rb

puts RUBY_VERSION
require ‘foo’

foo.rb

module Foo
PATTT = “2323”
class Foo2
def f
puts ‘hello world’
end
end
end

puts ‘eee’

Running under NetBeans it’s OK. But running test.rb through concole OR
RubyMine fails with:

C:\USERS\ADMIN>ruby
C:\Users\Admin\Documents\NetBeansProjects\RubyApplication1\l
ib\test.rb
1.9.1
C:/Users/Admin/Documents/NetBeansProjects/RubyApplication1/lib/test.rb:2:in
req uire': no such file to load -- foo (LoadError) from C:/Users/Admin/Documents/NetBeansProjects/RubyApplication1/lib/test .rb:2:in

On Apr 29, 2:34 pm, Svin S. [email protected] wrote:

module Foo

    from

C:/Users/Admin/Documents/NetBeansProjects/RubyApplication1/lib/test
rb:2:in `’

Simple: you’re trying to require ‘foo’ from a directory that is not
the current one.

If both test.rb and foo.rb are located in the same directory, doing
“ruby path\to\test.rb” will not be able to find foo in the same path.

Now, if you CD into the directory test.rb and foo.rb are located,
require ‘foo’ will succeed, since the current directory is in the
$LOAD_PATH.

That helps?

Simple: you’re trying to require ‘foo’ from a directory that is not
the current one.

If both test.rb and foo.rb are located in the same directory, doing
“ruby path\to\test.rb” will not be able to find foo in the same path.

Now, if you CD into the directory test.rb and foo.rb are located,
require ‘foo’ will succeed, since the current directory is in the
$LOAD_PATH.

That helps?
Thanks, it helps!

Why it’s so different from python/java :frowning:

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs