groovy: comment passer des varargs et fermeture dans le même temps à une méthode?
Donnée à la suite de groovy fonction:
def foo(List<String> params, Closure c) {...}
L'appel de la méthode serait:
foo(['a', 'b', 'c']) { print "bar" }
Mais je tiens à vous débarrasser de crochets (Liste) dans l'appel de fonction. quelque chose comme:
foo('a', 'b') { print "bar" }
Je ne peux pas changer le paramètre de liste à varargs parce que varargs peut être que le dernier paramètre de la fonction (ici la fermeture est la dernière).
Toute suggestion?
OriginalL'auteur mhshams | 2014-12-10
Vous devez vous connecter pour publier un commentaire.
De voir qu'il est impossible d'obtenir exactement ce que vous voulez (c'est écrit en Groovy, de la documentation spécifique à votre cas est un problème, malheureusement, ils sont de la migration de la documentation je ne peux donc pas directement de lien pour le moment), que penser de quelque chose le long de ces lignes:
Vous devez maintenant placer la fermeture de parenthèse, mais vous n'avez pas besoin d'utiliser un tableau plus..
OriginalL'auteur Gregor Petrin
Il y a toujours du Pauvre Varargs™
Je ne suis qu'à moitié une blague.
OriginalL'auteur Tobia
Je pense que ce qui pourrait être possible si vous utilisez un tableau comme argument ou d'un De Longueur Variable De La Liste D'Arguments :
OriginalL'auteur Victor