草庐IT

组合命令

全部标签

ruby - 在 Ruby 中组合数组

下面的数组包含两个数组,每个数组有5个整数值:[[1,2,3,4,5],[6,7,8,9,10]]我想通过组合索引0,1..到4处的两个数组的值来生成五个不同的数组。输出应该是这样的:[[1,6],[2,7],[3,8],[4,9],[5,10]]有没有最简单的方法来做到这一点? 最佳答案 transpose呢?方法?a=[[1,2,3,4,5],[6,7,8,9,10]]#=>[[1,2,3,4,5],[6,7,8,9,10]]a.transpose#=>[[1,6],[2,7],[3,8],[4,9],[5,10]]这个方法以后

ruby - 安装 pry 后找不到命令

我在bash提示符下使用以下行安装了pry和相关的gem:geminstallpry-plus--no-ri--no-rdoc该命令报告了成功的gem安装。我发现的所有说明都说,在安装pry之后,我可以通过输入pry作为bash命令来获得pry提示。然而,实际结果是bash:pry:commandnotfoundwhichpry报告nopryin(...)其中省略号是$PATH。相比之下,whichrake报告/local/tbh/rbenv/shims/rake和whichgem报告/local/tbh/rbenv/垫片/gem为什么geminstall没有创建pry命令?我怎样才能

ruby - 什么是最像 Ruby 的生成 3 个正整数加起来等于 100 的唯一组合的方法

条件:a+b+c=100a,b,cpositiveintegersor0期望的输出:[[0,0,100],[0,1,99],...#allotherpermutations[99,1,0],[100,0,0]] 最佳答案 我会写:(0..100).flat_map{|x|(0..100-x).map{|y|[x,y,100-x-y]}}#=>[[0,0,100],[0,1,99]],...,[99,1,0],[100,0,0]]站点注释1:这是一个经典示例,其中列表推导式大放异彩(如果某处有条件则更是如此)。由于Ruby没有LC,我

ruby - 在 shell 命令失败时引发异常?

我正在用Ruby编写一些脚本,我需要通过shell命令与一些非Ruby代码交互。我知道至少有6differentways从Ruby执行shell命令,不幸的是,当shell命令失败时,这些似乎都不会停止执行。基本上,我正在寻找的东西相当于:set-oerrexit...在Bash脚本中。理想情况下,该解决方案会在命令失败时引发异常(即通过检查非零返回值),可能会使用stderr作为消息。这写起来并不难,但似乎应该已经存在了。有没有我找不到的选项? 最佳答案 Ruby2.6addsanexception:argument:system

ruby - 我可以在 irb 中重复命令吗?

有没有一种简单的方法可以在Rubyirb中重复之前的命令?我希望有类似在Unix中使用感叹号(!)的东西。谢谢。 最佳答案 defrepeat_last_irbeval(IRB.CurrentContext.io.line(-2))end然后您可以在irb控制台中使用replat_last_irb来运行最后的输入。IRB.CurrentContext.io如下所示:ruby-1.9.3-p0:001>defhelloruby-1.9.3-p0:002?>end=>nilruby-1.9.3-p0:003>IRB.CurrentCon

ruby - 组合 RSpec 过滤器?

我一直在查看文档,但似乎缺少对多个过滤器如何工作的描述。有没有人对多个过滤器的行为有很好的解释或很好的解释来源?他们列出的顺序重要吗?这是一个代码示例,其行为可能与预期不同......Rspec.configuredo|c|this_version=get_version_number.to_symc.filter_run:focus=>truec.filter_run_excluding:limit_to=>true,this_version=>falsec.filter_run:new_stuff=>truec.run_all_when_everything_filteredend

ruby - 如何从命令行重新格式化 ruby​​ 代码?

给定一个缩进错误、空白管理不正确等源文件。如何将代码重新格式化为文件并应用Ruby的风格指南(如果存在)? 最佳答案 这应该是您的编辑器的任务。在vim(为Ruby配置)中,只需按gg=GxD执行此操作的Ruby脚本位于:http://www.arachnoid.com/ruby/rbeautify.rb.html 关于ruby-如何从命令行重新格式化ruby​​代码?,我们在StackOverflow上找到一个类似的问题: https://stackover

ruby - 如何将字符串 "*.*"作为命令行参数传递给 ruby​​?

代码:#test_argv.rbputs"length:#{ARGV.length}"ARGV.eachdo|a|puts"Argument:#{a}"end如果我在调用上述方法时提供字符串"*.*"(带引号或不带引号),我将得到以下输出:C:\test>test_argv*.*length:5Argument:afile.TXTArgument:bfile.TXTArgument:cfile.TXTArgument:dfile.TXTArgument:somethingelse.TXT即c:\test中的文件列表。其他值,如"s*.*"返回somethingelse.TXT,正如您在

Ruby:如何评估每个发送命令的多个方法?

假设我有一个XML::Element...我想做类似的事情:my_xml_element.send("parent.next_sibling.next_sibling") 最佳答案 在你的情况下,最好使用instance_eval"Test".instance_eval{chop!.chop!}#=>"Te"对于您的代码:my_xml_element.instance_eval{parent.next_sibling.next_sibling} 关于Ruby:如何评估每个发送命令的多个方

ruby - Capybara + RSpec, spec/features 目录被 rspec 忽略。命令?

我正在按照位于here的简短指南使用带有rspec的新CapybaraDSL添加到spec/features目录的测试单独运行良好,即。rails_project$rspecspec/features/my_first_feature.rb然而,当我尝试像这样对整个spec/目录运行测试时,spec/features目录被完全忽略:rails_project$rspec.指南中没有提及如何包含此目录(或其他目录)以完成我想要的包含。我真的需要这个来持续集成我的项目。有人能告诉我怎么做吗?谢谢! 最佳答案 您需要确保所有规范都以_sp