Ruby 在定义了rake任务之后,如何向其添加描述?

Ruby 在定义了rake任务之后,如何向其添加描述?,ruby,rake,Ruby,Rake,典型的rake任务定义如下所示: desc "Set the environment value for the database" task "environment:set" => [:environment, :load_config] do ActiveRecord::InternalMetadata.create_table ActiveRecord::InternalMetadata[:environment] = ActiveRecord::Migrator.curr

典型的rake任务定义如下所示:

desc "Set the environment value for the database"
task "environment:set" => [:environment, :load_config] do
  ActiveRecord::InternalMetadata.create_table
  ActiveRecord::InternalMetadata[:environment] = ActiveRecord::Migrator.current_environment
end

但是,如果它没有
desc
,并且我想在执行了包含任务定义的文件之后在运行时添加它,该怎么办呢。类似于
desc“这是文档”,task::taskname
。这可能吗?

是的,您可以在事实之后添加描述,只要它位于“任务”方法的正上方

指向Github repo的链接已断开,但是如果您查看,您可以看到desc只是在
调用rake-T

我所说的“事后”是指“在代码的更底层”。所以,它不能直接位于
任务
方法之上。哦,我误解了。否。desc方法链接到下一个任务方法。将desc方法放在任务之后会导致desc被分配到下一个任务,如果它位于rakefile的末尾,则根本不会。有两种desc方法会导致后一种方法优于第一种方法。出于好奇,你为什么不能把它放在任务方法之前呢?可能会有一些黑客行为,但这超出了我的范围。你的“事后”评论应该出现在你的问题中,就像它一直存在一样。加上它,让其他人都明白你在说什么。(不要使用“编辑”或“更新”标记,因为我们可以知道更改了什么。)您应该解释为什么不希望它超出任务的预期范围。看起来这里的方法实现了覆盖描述和行为: