à cet exemple sur ce blog post et la syntaxe semble un peu plus propre.
Par exemple, si vous aviez une tâche say_hello
, vous pouvez l'appeler avec un certain nombre d'arguments, comme ceci:
$ rake say_hello Earth Mars Venus
Voilà comment cela fonctionne:
task :say_hello do
# ARGV contains the name of the rake task and all of the arguments.
# Remove/shift the first element, i.e. the task name.
ARGV.shift
# Use the arguments
puts 'Hello arguments:', ARGV
# By default, rake considers each 'argument' to be the name of an actual task.
# It will try to invoke each one as a task. By dynamically defining a dummy
# task for every argument, we can prevent an exception from being thrown
# when rake inevitably doesn't find a defined task with that name.
ARGV.each do |arg|
task arg.to_sym do ; end
end
end
ne peut pas passer i paramètre de cette façon ?? ratisser test_rake_task [par1, par2, par3] et y accéder? –
J'ai décrit la seule façon que je connaisse pour passer des paramètres à la tâche de ratissage. Il semble impossible d'exécuter la tâche de rake avec quelque chose comme 'rake test_rake_task [par1, par2, par3]'. – lest
Il n'est pas impossible d'exécuter la tâche de rake en tant que telle, la réponse de Henry ci-dessous fonctionne pour faire exactement cela. –