我曾看到过一些任务具有参数和依赖任务,例如:
task :name, [:first_name, :last_name] => [:pre_name] do |t, args|
args.with_defaults(:first_name => "John", :last_name => "Dough")
puts "First name is #{args.first_name}"
puts "Last name is #{args.last_name}"
end
如果 name 任务是一个任务依赖项,你将如何向其传递参数:
task :sendLetter => :name
#do something
end
with_defaults
调用之前运行。但是,除了为每个默认值提取一个常量并手动确保所有使用该参数的依赖任务中都有with_defaults
调用 (或者对于所有默认值都调用帮助函数),是否有其他好的方法来实现这一目标? - Sam Brightmanwith_defaults
不会改变args
,而with_defaults!
会。但是,是的,它会在先决条件之后执行。 - x-yuri