要求不使用ruby 2.0?

时间:2015-01-02 17:20:34

标签: ruby

我正在使用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)

非常感谢您的帮助!

2 个答案:

答案 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中删除了当前目录在加载路径中的自动包含。