不需要在 ruby 2.0 上工作?
require not working on ruby 2.0?
我正在 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)
我尝试将 require 'string_extensions' 更改为 " require_relative 'string_extensions'
; require './string_extensions.rb'
。他们都没有用。
两者都 return 错误:vowels_test.rb:1:in require_relative': /Users/snailwalker/Ruby/string_extensions.rb:1: class/module name must be CONSTANT (SyntaxError)
非常感谢您的帮助!
使用:
ruby -I. vowels_test.rb
在 Ruby 2.
中删除了在加载路径中自动包含当前目录
您可以使用 require_relative
代替:
require_relative 'string_extensions'
puts "This is a test".vowels.join('-')
甚至require './string_extensions'
.
我正在 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)
我尝试将 require 'string_extensions' 更改为 " require_relative 'string_extensions'
; require './string_extensions.rb'
。他们都没有用。
两者都 return 错误:vowels_test.rb:1:in require_relative': /Users/snailwalker/Ruby/string_extensions.rb:1: class/module name must be CONSTANT (SyntaxError)
非常感谢您的帮助!
使用:
ruby -I. vowels_test.rb
在 Ruby 2.
中删除了在加载路径中自动包含当前目录您可以使用 require_relative
代替:
require_relative 'string_extensions'
puts "This is a test".vowels.join('-')
甚至require './string_extensions'
.