草庐IT

map - 分离 Hadoop Map 和 Reduce 任务

全部标签

ruby - 是否有可能获得命名空间中所有可用 rake 任务的列表?

是否有可能从rake任务中获取命名空间中的任务列表?一种程序化的“rake-Tdb”? 最佳答案 我找到了答案:tasks=Rake.application.tasks这将返回一个可以检查的Rake::Task对象数组。更多详细信息,请访问http://rake.rubyforge.org/ 关于ruby-是否有可能获得命名空间中所有可用rake任务的列表?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

ruby - 如何在单独的类/模块/文件中编写 Thor 任务?

我在获取Thor时遇到了一些问题这样做,所以希望有人能指出我做错了什么。我有一个主类classMyApp我想为多个命名空间分成单独的文件,比如thorcreate:app_type和thorupdate:app_type.我找不到任何示例来说明应该如何将Thor应用程序分解成多个部分,而且我尝试过的方法似乎不起作用。举个例子,这个类我正试图从主Thor类中脱离出来:moduleThingsmoduleGroupingdesc"something","Dosomethingcoolinthisgroup"defsomething....endendend当我尝试在我的主类中包含或要求它时

ruby-on-rails - 在 Rails 环境下使用 Rspec 测试 Rake 任务

我正在尝试测试一个rake任务,它在其中使用了一个事件记录。require'spec_helper'require'rake'loadFile.join(Rails.root,'lib','tasks','survey.rake')describe"surveyraketasks"dodescribe"survey:send_report"doit"shouldsendareport"doRake::Task['survey:send_report'].invokeendendend当我运行此规范rspecspec/lib/survey_spec.rb时,出现此错误“RuntimeEr

ruby-on-rails - Elasticsearch 和轮胎 : Using Mapping and to_indexed_json

在阅读Tire时文档,我的印象是您应该使用mapping或to_indexed_json方法,因为(我的理解是..)使用了mapping提供to_indexed_json。问题是,我发现一些教程同时使用了这两种方法。为什么?基本上,我的应用程序现在可以使用to_indexed_json但我无法弄清楚如何设置某些属性的提升值(因此我开始查看映射的原因)并且我想知道同时使用两者是否会造成一些冲突。 最佳答案 虽然mapping和to_indexed_json方法是相关的,但实际上它们有两个不同的目的。mapping方法的目的是为索引中的

ruby-on-rails - Ruby:在没有 Rails 的情况下从 gem 访问 rake 任务

我知道Rake任务可以在Rubygem中的许多地方定义:在Rakefile中在tasks/*.rake中在lib/tasks/*.rake中我读到前两个应该在gem本身上执行任务时使用。当任务需要公开时,似乎应该选择第三个选项。有许多在线教程演示了使用Rails从gem加载Rake任务的各种方法,即利用Rails::RailTie。但是,我想找到一种在不需要Rails的情况下在另一个gem中使用依赖项gem的任务的方法。有没有简单的解决方法?是否有人愿意描述正确的方法,或概述哪些方法可行?更新我已经尝试创建一个文件bin/my-gem以便在系统上可以从my-gem执行Rake任务。我已

ruby - 我如何打破 map /收集并返回到那时收集的任何东西?

我正在用代码重写这个问题:many=1000#Anexpensivemethod.##Itreturnssomedataornilifnoresultisavailable.expensive_method=lambdadorand(5)==0?nil:"foo"end#Now,let'scollectsomedataandstopcollectingwhennomoredatais#available.#Thisisconcisebutdoesn'twork.collection=many.times.mapdoexpensive_method.call||breakendputsc

ruby - Rake 中任务名称的别名

当我需要为某个任务的名称起别名时,我应该怎么做?比如我怎么转任务名:rakedb:tablerakedb:createrakedb:schemarakedb:migration到:rakedb:trakedb:crakedb:srakedb:m得到答案后编辑:defalias_task(tasks)tasks.eachdo|new_name,old_name|tasknew_name,[*Rake.application[old_name].arg_names]=>[old_name]endendalias_task[[:ds,:db_schema],[:dc,:db_create],

ruby-on-rails - rake 任务因 US-ASCII 中的无效字节序列而失败

升级到ruby​​1.9.3后,我的一个应用程序运行良好,但当我尝试使用capistrano进行部署时,我尝试转换的第二个应用程序在“assets:precompile”阶段失败。这是堆栈跟踪:rakeaborted!rakeaborted!invalidbytesequenceinUS-ASCII/Users/george/.rvm/gems/ruby-1.9.3-p392@global/gems/rake-10.0.4/lib/rake/trace_output.rb:16:in`blockintrace_on'/Users/george/.rvm/gems/ruby-1.9.3-

ruby - 其他 Ruby Map 速记符号

我知道map的简写形式如下:[1,2,3,4].map(&:to_s)>["1","2","3","4"]有人告诉我这是以下的简写:[1,2,3,4].map{|i|i.to_s}这很有道理。我的问题是:看来应该有更简单的写法:[1,2,3,4].map{|x|f.call(x)}对于某些程序f。我知道我刚刚输入的方式一开始并没有那么长,但我认为前面的例子也没有速记法。这个例子看起来像是对第一个例子的补充:我不想为每个i调用i的to_s方法,我希望为每个x调用f。有这样的简写吗? 最佳答案 不幸的是,这种速记符号(称为“Symbol

ruby 使用 array.map(& :methodname) for hash key strings rather than methodname 中的 "&:methodname"快捷方式

大多数ruby​​开发人员都知道如何通过执行以下操作来节省几次击键:array.map(&:methodname)而不是array.map{|x|x.methodname}有什么方法可以应用类似的&:methodname快捷方式来调用哈希数组上的“方法”(通过键调用的值)?在我的例子中,它的JSONapi结果以60个批处理作为源自JSON的散列数组返回。我试着这样做:array.map(&:"keyname")但没有成功,抛出一个NoMethodError并说Hash没有'keyname'方法,我想这是合理的。我想知道是否有一些Elixir可以模拟这个&:...ruby专家已经制定出的