草庐IT

ruby - Ruby 中是否有一种优雅的方式在 Scala 中表现得像 `require`?

我想做的是确保参数满足某些条件,如果不满足,则引发错误。像这样(假设我想确保n>0):defsome_method(n)raise"someerror"unlessn>0...#otherstuffsendScala中有一个require方法来测试一个表达式,如果为false则抛出一个IllegalArgumentException。在ruby​​中是否有类似的行为?我知道ruby在单元测试中有assert系列方法。但我认为这不是我想要的。已编辑我只想知道是否有其他方法可以确保参数满足某些条件,而不是raise。(scala中的require非常适合。) 最

ruby - 为什么有些 Ruby 项目的文件只有 'require' 语句

我正在查看不同的Ruby客户端实现,有时我会找到类似thisone的文件:require'addressable/uri'require'twitter/configuration'require'twitter/cursor'require'twitter/direct_message'require'twitter/entity'require'twitter/entity/hashtag'#...Snippedforbrevity;there's31lineslikethis.除了需要其他文件之外什么都不做。为什么要这样做? 最佳答案

ruby - 在 rspec 中 stub require 语句?

我必须维护一个Ruby脚本,它需要一些我在本地没有的库,这些库在我的环境中不起作用。不过,我想在此脚本中指定一些方法,以便我可以轻松更改它们。是否有一个选项可以在我要测试的脚本中存入一些require语句,以便它可以由rspec加载并且规范可以在我的环境中执行?示例(old_script.rb):require"incompatible_lib"classScriptdefsome_other_stuff...enddefadd(a,b)a+bendend如何在不拆分“old_Script.rb”文件且不提供我没有的incompatible_lib的情况下编写测试来检查add函数?

ruby - ruby 如何知道在 require "rspec"中找到 rspec

在Ruby中,我可以通过require_relative"file.rb"使用相对路径来请求另一个文件但是我怎么能在一个随机的Ruby文件中编写require'rspec'并且让它确切地知道我指的是哪个文件呢?我了解(在阅读this帖子后)在rails中require正在使用$LOAD_PATH来查找文件路径,但我没有看到它在某个任意目录中是如何工作的。 最佳答案 Thispost有详细解释。这是重要的部分:Tohelpyouusethecodeinsideofyourgems,RubyGemsoverridesRuby’srequ

ruby - `autoload` 引发错误但 `require` 不引发错误( ruby )

在我的Ruby程序中,我正在尝试延迟加载一个库(好奇的crack)。如果我这样做:require'rubygems'require'crack'一切正常。但是,当我尝试这样做时:require'rubygems'autoload:Crack,'crack'引发LoadError。(没有要加载的文件--破解)为什么会出现这个错误?是因为“破解”(以及我的其他用户安装的gem)不在我的$LOAD_PATH中吗?编辑:此外,autoload确实适用于标准库:autoload:Yaml,'yaml'工作正常,不会引发任何错误。 最佳答案 您

ruby-on-rails - Rails Edge/4 错误 `require' : cannot load such file -- thread_safe

按照此处的说明让应用程序在RailsEdge之外运行以测试Rails4:WhatisthebestwaytogenerateaRailsappusingedge?和HowtocreateEdgerailsapplication?但是遇到这个错误:`require':cannotloadsuchfile--thread_safe(LoadError)使用命令:railsnewEdge--edge--skip-bundle--database=postgresql--skip-test-unit--skip-index-html我正在检查Railsmasterbin目录。我将rbenv与r

ruby - 在 irb 中,我如何 'require a library'

我正在阅读一本名为“Ruby初学者指南”的书,恐怕我不确定“需要一个库”是什么意思。在我的应用程序根目录中,我有一个名为wordplay.rb的文件,我知道如何在终端中启动irb。但是我不知道怎么办'在文字游戏库中使用irb和require' 最佳答案 从wordplay.rb所在的目录,运行irb并输入:irb(main):001:0>require'./wordplay'希望它会回来说:=>true表示文件加载成功如果它没有显示“true”,则意味着您仍然必须安装提供该库的RubyGem。要安装gem,您必须在shell中输入:

ruby-on-rails - 如何在 Rails 4 中使用 params.require

我有一个像这样的私有(private)方法用于注册表单,它有四个字段,firstname、email、password和confirm密码。我不确定如何检查密码确认。defuser_paramsparams.require(:user).permit(:name,:email,:password,:password_confirmation)end以前,我使用下面的代码。如何将下面的代码转换为使用params.requireUser.new(name:params[:name],email:params[:email],password:params[:password],confir

ruby `require' : cannot load such file (LoadError)

我的目录结构如下所示:-lib-yp-crawler(directory)-file-a.rb-file-b.rb-file-c.rb-yp-crawler.rb我的lib/yp-crawler.rb文件如下所示:require"yp-crawler/file-c"require"yp-crawler/file-b"require"yp-crawler/file-a"moduleYPCrawlerend当我尝试通过这样做在命令行运行我的文件时:rubylib/yp-crawler.rb我收到这个错误:`require':cannotloadsuchfile--yp-crawler/fi

ruby - 在 ruby​​ 中,我怎么知道哪个模块被定义为 'load' 或 'require' 的结果?

在ruby​​中,如果我执行“requirefoo”,有没有办法随后确定foo.rb中定义的一个或多个模块的名称?例如,假设我有一个名为foo.rb的ruby​​文件,如下所示:#foo.rbmoduleMyModuledefself.summary"thisdoessomethinguseful"end...end在另一个脚本中,在我执行“requirefoo”之后,如何确定我现在有一个名为MyModule的模块?最终我所追求的是能够做这样的事情:file=someComputedFileName()requirefileputs"summaryof#{file}:#{???::su