草庐IT

global-require

全部标签

ruby - 在 Ruby 中的 Kernel#require 中采取了哪些具体步骤?

ruby规范没有记录所采取的具体步骤,究竟是使用什么算法在MRIRuby1.9.3中定位并执行文件?我本质上是在寻找:http://docs.python.org/reference/simple_stmts.html#import对于ruby 最佳答案 从技术上讲,您需要的不是文件,而是功能。如果您将完整路径输入require调用(例如require'/home/users/kerrick/my_lib/utils'),它将加载/home/users/kerrick/my_lib/utils.rb(或.so,或.dll,或.bun

ruby - 运行错误 'requirements_osx_brew_update_system ' ,

当我尝试$rvmrequirements我得到了错误:如何从此恢复(Macosx10.7)Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_system',pleaseread/Users/HARSHA/.rvm/log/1380096954/update_system.logRequirementsinstallationfailedwithstatus:1.HARSHA:~HARSHA$rvmre

ruby - gem_original_require' : no such file to load -- sinatra (LoadError)

我正在我的本地机器上工作。如果我使用Sinatra应用程序,将此行添加到myapp.rb没有问题require'sinatra'当我转到控制台并运行时irb-rmyapp.rb我收到这个错误gem_original_require':nosuchfiletoload--sinatra(LoadError)我知道我的IRB或Ruby路径看起来不正确。我正在使用(简单的Ruby版本管理:rbenv)来管理Ruby环境,不太确定这是否会影响事情?我运行了gemenv并得到了这个。RubyGemsEnvironment:-RUBYGEMSVERSION:1.8.10-RUBYVERSION:1

Ruby 要求和 self.require

我是ruby1.8.7,为什么我在main中可以使用require,但是不能使用self.require?require('date')#okself.require('date')NoMethodError:privatemethod`require'calledformain:Objectfrom(irb):22from/usr/lib/ruby/1.8/date.rb:437众所周知,main是Object类:irb(main):045:0>self=>主要irb(main):043:0>self.class=>Object但我发现它有Kernelmixin:irb(main):

ruby - Ruby 救援语句是否适用于 require?

Rubyrescue语句修饰符是否与require一起使用?irb(main):001:0>require'a'rescuenilLoadError:nosuchfiletoload--afrom(irb):1:in`require'from(irb):1from:0 最佳答案 你可以从LoadError中拯救你只需要使用begin/end风格而不是使用内联rescue:这如您所愿:beginrequire'a'rescueLoadError=>exputs"Loaderror:#{ex.message}"end

ruby-on-rails - 如何使用 Globalize3 制作本地化的回形针附件?

我有一个项目使用Paperclipgem作为附件,使用Globalize3进行属性转换。记录需要为每个区域设置不同的附件。我想将Paperclip属性移动到翻译表,这可能会起作用,但我认为当Paperclip需要删除附件时这不会起作用。实现类似目标的最佳方法是什么?更新:明确地说,我想要这个是因为我的客户想要为每个语言环境上传不同的图像。 最佳答案 不幸的是,我没有找到使用Globalize3执行此操作的方法。理论上,我可以为图像添加一个单独的模型并将image_id添加到已翻译列的列表中(有类似MainModel->Transla

ruby - 为什么 Kernel#require 在 Ruby 中引发 LoadError?

嗨,多年来我一直想知道为什么您不能使用Kernel#require方法来加载gems。例如,这将起作用:#!/usr/bin/ruby-wrequire'ruby2d'#=>true这里require的所有者是Kernel:pObject.method(:require).owner#=>KernelpKernel.method(:require).owner#=>#但这行得通:pObject.send:require,'ruby2d'#=>truepString.send:require,'ruby2d'#=>falsepKernel.require'ruby2d'#=>false或

ruby - 如果 'require sinatra' 在另一个文件中,为什么 sinatra 不会加载?

我有工作正常的web.rb文件。我想将所有require文件移动到一个requires.rb文件中,并从我所有的.rb文件中调用此文件,并使用基于调用者文件名的条件来要求所需的内容。我在'requirepp'、'ruby-growl'上对其进行了测试,并且运行良好。但是如果requiresinatra在另一个文件中,sinatra将不会加载。我可以在不同的文件中包含requiresinatra吗?或者更好的是,我可以在不同的文件中要求吗?使用ruby1.8.7(2010-08-16补丁级别302)[i386-mingw32]西纳特拉(1.3.2)gem1.3.7通过rubyscript

ruby - 初始化' : rack-test requires a rack application, 但没有给出 (ArgumentError)

从Selenium切换到PhantomJs/Poltergeist时,我一直收到此错误。有人知道我做错了什么吗?如果我将驱动程序切换到selenium,脚本将完美运行。每当我注释掉default_driver=:selenium并替换为javascript_driver=:poltergeist时,我都会遇到此错误。initialize':rack-testrequiresarackapplication,butnonewasgiven(ArgumentError)这一切都在一个ruby​​文件中,没有rails。require'rubygems'require'capybara're

ruby-on-rails - 需要 'bundler/setup' 和 'Bundler.require' 做什么?

在Rails应用程序中,在boot.rb中,有一行:require'bundler/setup'ifFile.exists?(ENV['BUNDLE_GEMFILE'])在application.rb中,还有一行:Bundler.require(:default,Rails.env)您能否简要解释一下Rails/Bundler在require'bundler/setup'和'Bundler.require'中做了什么?bundler/setup需要Bundler,Bundler.require需要Gemfile中的所有gem,这是否有效? 最佳答案