Tag: ruby1.8

Ruby:require vs require_relative – 在Ruby <1.9.2和> = 1.9.2中运行的最佳解决方法

如果我想在Ruby中require一个相关文件, 而且我希望它能在1.8.x和> = 1.9.2中工作,那么最佳做法是什么? 我看到几个选项: 只要做$LOAD_PATH << '.' 忘记一切 做$LOAD_PATH << File.dirname(__FILE__) require './path/to/file' 检查RUBY_VERSION <1.9.2,然后将require_relative定义为require ,然后在require地方使用require_relative 检查require_relative已经存在,如果是,则尝试按前面的方式继续 使用奇怪的结构,如 require File.join(File.dirname(__FILE__), 'path/to/file') – 唉,他们似乎并不在Ruby 1.9中工作,因为,例如: $ cat caller.rb require File.join(File.dirname(__FILE__), 'path/to/file') $ cat path/to/file.rb puts 'Some testing' $ ruby caller Some testing $ pwd /tmp $ ruby /tmp/caller Some testing $ ruby tmp/caller tmp/caller.rb:1:in 'require': […]

Ruby 1.8和Ruby 1.9有什么区别?

我不清楚“当前”版本的Ruby(1.8)和“新”版本(1.9)之间的差异。 对于这些差异有什么“简单的”或“简单的”解释,以及它们为何如此不同?