我正在使用ruby 2.0.0p576 (2014-09-19 revision 47628) [x86_64-darwin13.4.0]
下的“require”进行测试,但它在很多方面都不起作用。
ruby目录中有两个文件,如下所示:
string_extensions.rb
class String
def vowels
self.scan(/[aeiou]/i)
end
end
vowels_test.rb
require 'string_extensions'
puts "This is a test".vowels.join('-')
启动IRB
Snailwalkers-MacBook-Pro:ruby snailwalker$ ruby vowels_test.rb
returs : `require': cannot load such file -- string_extensions (LoadError)
我尝试将'string_extensions'更改为“require_relative 'string_extensions'
; require './string_extensions.rb'
。它们都无效。
返回错误:vowels_test.rb:1:in require_relative': /Users/snailwalker/Ruby/string_extensions.rb:1: class/module name must be CONSTANT (SyntaxError)
非常感谢您的帮助!
答案 0 :(得分:3)
您可以改为使用require_relative
:
require_relative 'string_extensions'
puts "This is a test".vowels.join('-')
甚至require './string_extensions'
。
答案 1 :(得分:2)
使用:
ruby -I. vowels_test.rb
在Ruby 2中删除了当前目录在加载路径中的自动包含。