草庐IT

require_and_profile

全部标签

ruby-on-rails - 什么时候在 Rails 中调用 "require"?

我在Rails或Ruby中有一个更概念性的问题:是否最好在需要它的方法之前调用require,在类的开头或Rails启动时在初始化程序中的某个地方对我的require进行分组?从性能的角度来看,这重要吗?从可读性的角度来看?如果我使用Rails3,会有什么不同吗?谢谢! 最佳答案 如果您关心性能,那么您应该在需要它们的上下文中要求它们,这样如果您的那部分代码没有被执行,库就不会被加载。任何对require的后续调用都没有效果,因为该文件已经加载。这最终看起来像这样:if(user.using_openid?)require'open

用于散列 : each element the key and derive value from it 的 Ruby 数组

我有一个字符串数组,想用它来哈希。数组的每个元素都是键,我想根据该键计算值。是否有Ruby方法可以做到这一点?例如:['a','b']转换为{'a'=>'A','b'=>'B'} 最佳答案 您可以:a=['a','b']Hash[a.map{|v|[v,v.upcase]}] 关于用于散列:eachelementthekeyandderivevaluefromit的Ruby数组,我们在StackOverflow上找到一个类似的问题: https://stack

ruby - 为什么需要 "require ' bundler/setup'”?

在我见过的几乎所有Sinatra示例中,不管它做了什么,它总是有以下两行:require'rubygems'require'bundler/setup'在大多数示例中,删除“bundler/setup”要求似乎没有破坏效果,所以我对何时何地需要包含它感到困惑。我讨厌在不知道确切原因的情况下使用东西,所以我希望有人能解释为什么我需要这两条线以及它们的作用? 最佳答案 它确保您正在加载Gemfile定义的gem。请在此处查看文档https://bundler.io/v1.12/bundler_setup.html

ruby - gem 和 require 的区别(require open-uri)

我只是想了解自己。我正在使用nokogirigem(用于解析HTML)。如果我能正确打开URL,我需要使用gem“open-uri”中的方法。但是当我将它包含在我的Gemfile中时(在Windows开发人员的机器上):gem'open-uri'-捆绑安装时出现找不到gem的错误。因此,如果我使用require'open-uri'-它可以正常工作。那么有人能解释一下这是怎么回事吗? 最佳答案 您正在使用bundler对于您的gem依赖项,您做对了,但是OpenUri是Ruby标准库的一部分。这就是为什么如果您想在代码中使用它,您仅需

ruby 正则表达式 : match and get position(s) of

我想匹配一个正则表达式并获取匹配字符串中的位置例如,"AustinTexasDallasTexas".match_with_posn/(Texas)/我想要match_with_posn返回类似:[6,17]其中6和17是单词Texas的两个实例的起始位置。有这样的吗? 最佳答案 使用Ruby1.8.6+,你可以这样做:require'enumerator'#Onlyfor1.8.6,newerversionsshouldnotneedthis.s="AustinTexasDallasTexas"positions=s.enum_f

ruby - 如何在 Ruby 中获取 `required` 的文件列表?

这纯粹是一个实验,但我想知道是否有可能通过某种元编程在运行时获取require的gem列表。例如,假设我有:require'rubygems'require'sinatra'require'nokogiri'#don'tknowwhattodohere如何在运行时打印出以下内容?thisappneedsrubygems,sinatra,nokogiri 最佳答案 您不能完全做到这一点,因为需要一个文件可能需要其他文件,而Ruby无法区分您需要的文件和其他人需要的文件。p>您可以查看$LOADED_FEATURES以获取所需的每一项内

ruby - "<top (required)>"在 Ruby 堆栈跟踪中意味着什么?

在Ruby1.9.2堆栈跟踪中,我经常看到给出的方法为,如下面的堆栈部分所示。这是什么意思?我的Ruby安装有什么问题吗?Couldnotfindabstract-1.0.0inanyofthesources/usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.13/lib/bundler/spec_set.rb:87:in`blockinmaterialize'/usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.13/lib/bundler/spec_set.rb:81:in`map!'/usr/l

ruby - RSpec allow/expect 与 just expect/and_return

在RSpec中,特别是版本>=3,有什么区别:使用allow设置带有返回测试替身的参数的消息期望,然后使用expect对返回的测试替身进行断言只需使用expect设置带有参数的期望并返回测试替身还是只是语义?我知道用expect提供/指定返回值是thesyntaxinRSpecmocks2.13,但据我所知,thesyntaxchangedinRSpecmocks3使用允许。但是,在下面的(传递的)示例代码中,使用allow/expect或仅使用expect/and_return似乎产生相同的结果。如果一种语法比另一种语法更受欢迎,也许我会期望有某种弃用通知,但由于没有,这两种语法似乎

ruby - Rails 在最后一个之前加入逗号和 "and"的字符串列表

是否有一个标准的Rails助手可以将字符串数组(如["apple","banana","pear"])转换为"apple,banana,andpear"用于插入句子? 最佳答案 Yeahto_sentence应该工作得很好。http://apidock.com/rails/Array/to_sentence 关于ruby-Rails在最后一个之前加入逗号和"and"的字符串列表,我们在StackOverflow上找到一个类似的问题: https://stack

ruby - 在 Mac 10.7 上运行 'requirements_osx_brew_libs_install...' 时出错

尝试在上一代MacbookPro上安装brew并不断收到以下错误:Errorrunning'requirements_osx_brew_libs_installautoconfautomakelibtoolpkg-configapple-gcc42libyamlreadlinelibxml2libxsltlibksbaopensslsqlite',pleaseread/Users/allegrascrugham/.rvm/log/ruby-1.9.3-p392/1368142352_package_install_autoconf_automake_libtool_pkg-config