我见过很多使用这一行的Ruby代码示例(例如,http://www.sinatrarb.com/)。这个要求的目的是什么?
# require 'rubygems'
require 'sinatra'
get '/hi' do
"Hello world!"
end在所有情况下,代码都可以在没有这一行的情况下工作。
发布于 2010-04-26 15:46:04
这通常是多余的。但是,它将允许您使用gem命令来要求特定gem的特定版本。
发布于 2010-04-26 15:58:34
require 'rubygems'将调整rubygem,允许您成功获取通过rubygems安装的gem,而无需获取LoadError: no such file to load -- sinatra。
来自rubygems-1.3.6文档:
当需要RubyGems时,Kernel#require将被我们自己的替换,它能够按需加载gem。
当你调用require 'x‘时,会发生这样的事情:
如果文件已经被加载,则正常所需返回false的功能被保留。
请参阅Kernel#require的文档以了解为什么需要这样做。
发布于 2015-06-12 21:26:30
作为对之前版本(和正确答案)的补充:Ruby1.9和更新版本都内置了RubyGems,所以实际上没有必要使用require 'rubygems'。Source here
https://stackoverflow.com/questions/2711779
复制相似问题