草庐IT

requires_new

全部标签

ruby - 我安装了一个 gem 但 require 'gemname' 不起作用。为什么?

我真正要问的问题是为什么require不采用gem的名称。另外,如果没有,找到需要该死的东西的密咒的最简单方法是什么!?例如,如果我安装了memcache-client,那么我必须使用它来要求它require'rubygems'require'memcache' 最佳答案 我的系统似乎也不知道RubyGems的存在——除非我告诉它。“require”命令被RubyGems覆盖,因此它可以加载gems,但除非您已经需要RubyGems,否则它不知道如何执行此操作。所以如果你自己写,你可以这样做:require'rubygems'req

ruby-on-rails - load 与 Ruby 中的 require 有何不同?

在RubyonRails应用程序中,load和require之间有什么主要区别吗?还是它们都具有相同的功能? 最佳答案 require在所有定义的搜索路径中搜索库并追加.rb或.so到您输入的文件名。它还确保图书馆只是包括一次。因此,如果您的应用程序需要库A和B,并且库B也需要库A,那么A将只加载一次。使用load,你需要添加库的全名,每次你加载它调用load-即使它已经在内存中。 关于ruby-on-rails-load与Ruby中的require有何不同?,我们在StackOverf

ruby - `raise "foo "` and ` raise Exception.new ("foo")` 有什么区别?

在技术、哲学、概念或其他方面有什么区别raise"foo"和raiseException.new("foo")? 最佳答案 从技术上讲,第一个引发RuntimeError,消息设置为"foo",第二个引发异常,消息设置为"foo".实际上,使用前者和使用后者之间存在显着差异。简单地说,您可能想要一个RuntimeError不是Exception.没有参数的救援block将捕获RuntimeErrors,但不会捕获Exception秒。所以如果你提出Exception在您的代码中,此代码不会捕获它:beginrescueend为了ca

ruby - 使用哈希默认值时出现奇怪的意外行为(消失/更改值),例如哈希.new([])

考虑这段代码:h=Hash.new(0)#Newhashpairswillbydefaulthave0asvaluesh[1]+=1#=>{1=>1}h[2]+=2#=>{2=>2}没关系,但是:h=Hash.new([])#Emptyarrayasdefaultvalueh[1]{1=>[1]}←Okh[2]{1=>[1,2],2=>[1,2]}←Whydid`1`change?h[3]{1=>[1,2,3],2=>[1,2,3]}←Whereis`3`?此时我希望散列为:{1=>[1],2=>[2],3=>[3]}但远非如此。发生了什么,我怎样才能得到我期望的行为?

Ruby:require 与 require_relative - 在 Ruby <1.9.2 和 >=1.9.2 中运行的最佳实践

如果我想要,最佳实践是什么requireRuby中的一个相关文件and我希望它在1.8.x和>=1.9.2中工作?我看到几个选项:就做$LOAD_PATH忘记一切做$LOAD_PATHrequire'./path/to/file'检查是否RUBY_VERSIONrequire_relative作为require,使用require_relative事后需要的地方检查是否require_relative已经存在,如果存在,尝试像之前的情况一样继续使用奇怪的结构,例如requireFile.join(File.dirname(__FILE__),'path/to/file')-唉,它们似乎

ruby 'require' 错误 : cannot load such file

我有一个文件,main.rb,内容如下:require"tokenizer.rb"tokenizer.rb文件位于同一目录,其内容为:classTokenizerdefself.tokenize(string)returnstring.split("")endend如果我尝试运行main.rb,我会收到以下错误:C:\DocumentsandSettings\my\src\folder>rubymain.rbC:/Ruby193/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in`require':cannotloadsuchfile--to

ruby - Ruby 中的 require_relative 和 require 有什么区别?

Ruby中的require_relative和require有什么区别? 最佳答案 看看docs:require_relativecomplementsthebuiltinmethodrequirebyallowingyoutoloadafilethatisrelativetothefilecontainingtherequire_relativestatement.Forexample,ifyouhaveunittestclassesinthe"test"directory,anddataforthemunderthetest"t

ruby - 什么时候用lambda,什么时候用Proc.new?

在Ruby1.8中,一方面proc/lambda与另一方面Proc.new之间存在细微差别。这些区别是什么?您能否就如何决定选择哪一个提供指导?在Ruby1.9中,proc和lambda是不同的。怎么回事? 最佳答案 使用lambda创建的过程和使用Proc.new创建的过程之间的另一个重要但微妙的区别是它们如何处理return语句:在lambda创建的过程中,return语句仅从过程本身返回在Proc.new创建的proc中,return语句更令人惊讶:它不仅从proc返回控制权,还从包含过程的方法!这是lambda创建的proc

Ruby:Gemfile 中的 'require: false' 是什么意思?

这样做:gem'whenever',require:false表示需要安装gem,还是不需要? 最佳答案 这means安装gem,但在启动Bundler时不要调用require。所以你需要手动调用require"whenever"如果你想使用这个库。如果你要这样做gem"whenever",require:"whereever"然后bundler会下载命名为whenever的gem,但会调用require"whereever"如果需要的库的名称与gem的名称不同,这通常会被使用。 关于R

ruby - Ruby 中的 include 和 require 有什么区别?

我的问题类似于“WhatisthedifferencebetweenincludeandextendinRuby?”。Ruby中的require和include有什么区别?如果我只是想在我的类中使用模块中的方法,我应该require还是include? 最佳答案 What'sthedifferencebetween"include"and"require"inRuby?Answer:Theincludeandrequiremethodsdoverydifferentthings.Therequiremethoddoeswhatinc