8
votes

DART Comment faire une fonction pouvant accepter un nombre quelconque de Args

venant de python , je sais que je peux facilement accomplir que: xxx

de cette façon, je peux donner 100 arguments avec facilité.

Comment faire quelque chose comme ça sur Dart?

thx.


3 Réponses :


3
votes

Vous pouvez utiliser la méthode Noschmethod sur une classe (probablement en combinaison avec la méthode appel () , mais je n'ai pas essayé cela). Mais il semble que vous perdiez certaines fonctionnalités de vérification de l'éditeur de dard lors de l'utilisation de cela (au moins pour moi).

La méthode a un Invocation est un paramètre contenant le nom de la méthode et tous les paramètres non nommés en tant que liste et tous les paramètres nommés en tant que hashmap.

voir ici pour plus de détails sur Noschmethod et appel () . Mais le lien contient des informations obsolètes qui ne s'appliquent pas à Milestone 4, voir Ici pour les changements.

quelque chose comme ceci: xxx

utilisation: xxx


0 commentaires


0
votes

DART prend en charge indirectement Var-Args aussi longtemps que vous n'êtes pas trop dans la brièveté syntaxique.

void testFunction([List<dynamic> args=[]])
{
  for(dynamic arg:args)
  {
    // Handle each arg...
  }
}

testFunction([0, 1, 2, 3, 4, 5, 6]);
testFunction();
testFunction([0, 1, 2]);


1 commentaires

Il est vrai que la syntaxe littérale de la liste légère de Dart fait le manque de varargs moins douloureuse que ce serait autrement, mais pense que c'est un peu d'étirement pour réclamer un soutien ici - un peu le point de Varargs est un sucre syntaxique pour supporter le nombre variable d'arguments < I> Sans Devoir l'envelopper dans une collection.