Ruby中的require命令究竟是如何工作的?我使用以下两个位于同一目录中的文件对其进行了测试.
test.rb
require 'requirements'
square(2)
Run Code Online (Sandbox Code Playgroud)
requirements.rb
def square(x)
x*x
end
Run Code Online (Sandbox Code Playgroud)
但是当我在文件"test.rb"和"requirements.rb"所在的目录中运行ruby test.rb时,我收到错误:
/usr/local/rvm/rubies/ruby-1.9.3-p286/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- requirements (LoadError)
from /usr/local/rvm/rubies/ruby-1.9.3-p286/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from test.rb:1:in `<main>'
Run Code Online (Sandbox Code Playgroud)
我认为这意味着它无法找到requirements.rb文件.但它与test.rb在同一目录中!如何解决这个问题?
非常感谢提前.我为这样的菜鸟问题道歉.
Ser*_*sev 33
IIRC,ruby 1.9不包括LOAD_PATH的当前目录('.').您可以执行以下操作之一:
# specify relative path
require './test1'
# use relative method
require_relative 'test1'
# add current dir to LOAD_PATH
$LOAD_PATH.unshift '.'
require 'test1'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7916 次 |
| 最近记录: |