草庐IT

ios - 只运行一次代码

全部标签

ruby - 跟踪 Ruby 中的代码?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion有没有一种运行脚本并查看所有步骤的好方法:执行了哪些代码代码在哪个文件中返回什么错误信息这将是了解开源项目如何运作的好方法。Ruby没有这样的解决方案吗?例如。require"httparty"HTTParty.get"http://www.google.se"然后它会运行代码并向我展示它正在执行的所有代码,其中的文件和行、返回的对象、错误消息等。

ruby-on-rails - 在 Windows 7 64 位上运行 gem 安装时出错

我刚刚使用ruby​​installer.org的安装程序安装了ruby​​1.9.2-p136,现在我正在尝试安装rails。当我执行“geminstallrails”时,出现以下错误:C:\Users\Clayton.USA>geminstallrailsERROR:Whileexecutinggem...(Errno::EINVAL)Invalidargument-P:/这是我正在运行的ruby​​和gem版本:C:\Users\Clayton.USA>ruby-vruby1.9.2p136(2010-12-25)[i386-mingw32]C:\Users\Clayton.US

ruby - 我可以让 ruby​​ 打印动态方法的源代码吗?

我调查了gettingthesourcecodeofamethod如果它作为文件存在,但没有此文件引用,是否可以动态打印方法的源代码?看来我可以使用self.methods和每个方法的.arity访问类中的方法签名。我相信ri_forgem指的是原始源文件。提出这个问题的更好方法是:如果一个类在运行时被扩展,它的源代码是否安全,不会被调查?或者调查的能力是否仅限于方法签名和实例变量的名称,也许是类变量?编辑:我使用的解决方案:http://seattlerb.rubyforge.org/svn/ruby2ruby/1.2.1/lib/ruby2ruby.rbclassRuby2Ruby

ruby-on-rails - 如果没有可用标签,则运行标记规范或全部

我将guard与rspec和cucumber一起使用。要连续运行选定的规范,我只需使用focus标记来确定我要处理的内容。但问题是,如果没有带有该标签的规范,我想运行所有规范。我该怎么做?注意::我知道所有RSpec选项。因此,请仅在阅读问题后回复。 最佳答案 我通过以下配置实现了您描述的行为:#torunonlyspecificspecs,add:focustothespec#describe"foo",:focusdo#OR#it"shouldfoo",:focusdoconfig.treat_symbols_as_metada

ruby - 单元测试 ruby​​ 命令行应用程序的代码 - 如何模拟/传递 ARGV

我有一个命令行应用程序,它使用thor来处理选项的解析。我想使用test-unit和/或minitest针对代码对命令行功能进行单元测试。我似乎无法弄清楚如何确保ARGV数组(通常会保存命令行中的选项)保存我的测试选项,以便它们可以根据代码进行测试。具体应用代码:#myapp/commands/build.rbrequire'thor'moduleMyappmoduleCommands#DefinebuildcommandsforMyAppcommandlineclassBuild:test_unit#Definesourcerootofapplicationdefself.sourc

ruby - 为什么 Ruby 在抛出 NameError 异常后仍保留代码求值?

我无法向自己解释的简单代码:putsaifa=1这导致warning:found=inconditional,shouldbe==NameError:undefinedlocalvariableormethod'a'formain:Object不过,现在检查a我们可以看到,它已被定义:a#=>1尽管抛出异常,为什么a仍被分配给1?来自docs:Theconfusioncomesfromtheout-of-orderexecutionoftheexpression.Firstthelocalvariableisassigned-tothenyouattempttocallanonexis

ruby - 用 Ruby 替换运行时实现

Ruby中的依赖注入(inject)框架几乎已被宣布为不必要。贾米斯·巴克(JamisBuck)去年在他的LEGOs,Play-Doh,andProgramming中写到了这一点。博文。普遍接受的替代方案似乎是使用某种程度的构造函数注入(inject),但只是提供默认值。classAendclassBdefinitialize(options={})@client_impl=options[:client]||Aenddefnew_client@client_impl.newendend这种方法对我来说很好,但它似乎缺少更传统设置的一件事:一种在运行时基于某些外部开关替换实现的方法。例

ruby - 解释型语言(如 Ruby)如何运行?

我打算学习Ruby。我知道这是一种解释语言。我知道编译语言最终会被翻译成机器码,但是ruby​​解释器是做什么的呢?我读到解释器是用C编写的,但是每一行ruby​​都转换为c,然后再次编译为机器代码吗?我也听说过JIT,但是如果这会增加答案的复杂性,那么您就不需要回答它了。我正在寻找的是我的Ruby代码发生了什么。 最佳答案 它将Ruby代码转换为某种更简单的“中间”表示形式(在最近的版本中,它编译为字节码)。它还会在您计算机的内存中构建一个虚拟机,模拟执行该表示的物理机。这台机器是一台物理机器的镜像,至少在合理和有用的范围内。它通

ruby-on-rails - 在运行时将模块动态包含到模型中?

我有一个“事务”(扩展ActiveRecord::Base)。我有两种不同类型的交易,“购买”或“捐赠”。两者之间有足够多的重叠,因此无需创建两个单独的数据库表,因此我只有一个表用于包含“item_type”列的交易。但是,购买和捐赠有不同的方法和验证,因此将它们分成两个不同的Controller和模型是有意义的。我没有创建ActiveBase模型(减去表格),而是尝试为每个模型使用模块。这是Purchase模块的样子。modulePurchasedefself.included(base)base.validates:amount,:presence=>trueenddeftesti

ruby - 如何在 MiniTest 中的所有测试中的每个测试用例之前运行代码?

我需要在MiniTest中的所有测试中的每个测试之前运行代码。在我做之前:MiniTest::Unit::TestCase.add_setup_hookdo...codetorunbeforeeachtestend在我将MiniTest升级到4.7.2版本后,它显示以下错误:undefinedmethod`add_setup_hook'forMiniTest::Unit::TestCase:Class(NoMethodError)我正在使用RubyMRI2.0.0p0。解决方案moduleMyMinitestPlugindefbefore_setupsuper#...codetorun