invoke
bir döngü içinde aynı sorgu görevi için more than once mümkün değil. Ancak, rake first
'u arayabilmek ve bir dizi boyunca döngü oluşturmak ve farklı yinelemelerle her yinelemede second
'u çağırmak istiyorum. invoke
sadece ilk kez çalıştırıldığı için, execute
'u kullanmayı denedim, ancak Rake::Task#execute splat (*) operatörünü kullanmıyor ve sadece tek bir argüman alıyor. EtrafındaBirden çok kez bağımsız değişkenlerle Rake görevlerini nasıl yürütürüm?
desc "first task"
task :first do
other_arg = "bar"
[1,2,3,4].each_with_index do |n,i|
if i == 0
Rake::Task["foo:second"].invoke(n,other_arg)
else
# this doesn't work
Rake::Task["foo:second"].execute(n,other_arg)
end
end
end
task :second, [:first_arg, :second_arg] => :prerequisite_task do |t,args|
puts args[:first_arg]
puts args[:second_arg]
# ...
end
Bir kesmek bir diziye execute
argümanlar koymak ve second
içinde args yapısını incelemek, ama bu hackish, iyi görünüyor. Ne yapmak istediğimi gerçekleştirmek için başka bir (daha iyi?) Yolu var mı?
Bu kaygan görünüyor. Teşekkürler! –