[英]require not working on ruby 2.0?
I'm doing a test with "require" under ruby 2.0.0p576 (2014-09-19 revision 47628) [x86_64-darwin13.4.0]
it doesn't work in many ways. 我正在使用
ruby 2.0.0p576 (2014-09-19 revision 47628) [x86_64-darwin13.4.0]
下的“ require”进行测试,它在许多方面均无效。 There are two files in ruby directory as shown below: ruby目录中有两个文件,如下所示:
string_extensions.rb string_extensions.rb
class String
def vowels
self.scan(/[aeiou]/i)
end
end
vowels_test.rb vowels_test.rb
require 'string_extensions'
puts "This is a test".vowels.join('-')
fire up IRB 启动IRB
Snailwalkers-MacBook-Pro:ruby snailwalker$ ruby vowels_test.rb
returs : `require': cannot load such file -- string_extensions (LoadError)
I tried to change require 'string_extensions' to " require_relative 'string_extensions'
; require './string_extensions.rb'
. They all didn't work. 我试图将
require './string_extensions.rb'
更改为“ require_relative 'string_extensions'
; require './string_extensions.rb'
require_relative 'string_extensions'
require './string_extensions.rb'
。它们都不起作用。
both return error : vowels_test.rb:1:in require_relative': /Users/snailwalker/Ruby/string_extensions.rb:1: class/module name must be CONSTANT (SyntaxError)
两者都返回错误:
vowels_test.rb:1:in require_relative': /Users/snailwalker/Ruby/string_extensions.rb:1: class/module name must be CONSTANT (SyntaxError)
: vowels_test.rb:1:in require_relative': /Users/snailwalker/Ruby/string_extensions.rb:1: class/module name must be CONSTANT (SyntaxError)
Your help will be greatly appreciated! 对你的帮助表示感谢!
You can use require_relative
instead: 您可以改用
require_relative
:
require_relative 'string_extensions'
puts "This is a test".vowels.join('-')
Or even require './string_extensions'
. 甚至
require './string_extensions'
。
Use: 采用:
ruby -I. vowels_test.rb
Automatic inclusion of the current directory in the load paths was removed in Ruby 2. 在Ruby 2中删除了在加载路径中自动包含当前目录的功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.