7
votes

Comment accéder aux options de ligne Argv / Command en Dart?

Et Dart a-t-il une bibliothèque getopt?


0 commentaires

5 Réponses :


4
votes

Edit: Ce n'est plus valide, voir la réponse acceptée ci-dessus.

voir Options .

http://api.dartlang.org/dart_io/option.html xxx


4 commentaires

Je vois que Dart omet le nom du script des arguments. Savez-vous comment le récupérer? Ruby et Perl le font avec 0 $ .


Ah, options dispose d'un script Accessor. rosettacode.org/wiki/program_name#dart


Petit commentaire supplémentaire: À compter de mars 2013, la classe d'options est à Dart: io.


La classe Options n'existe plus dans Dart: io. Utilisez le paquet: args à la place.



1
votes
#!/usr/bin/env dart

main() {
    print("Args: " + new Options().arguments);
}

2 commentaires

Quelques commentaires: (1) Vous n'avez pas besoin d'importer la bibliothèque principale, (2) L'opérateur + ne peut pas être utilisé comme concaténation de chaîne, utilisez donc "ARG: $ {nouvelles options (). Arguments}"


Je pense que pour la version de DART / MAC OS X J'utilise, vous devez réellement importer dart: noyau . Merci pour les conseils de dard. Évidemment + peut être utilisé pour la concaténation de chaîne, car cela fonctionne dans cet extrait. Peut-être une interpolation de chaîne est préférable dans la fléchette, mais ce n'est pas la seule option.



1
votes

J'utilise cette bibliothèque pour définir et analyser la ligne de commande args http://pub.dartlang.org/packages / args


0 commentaires

3
votes
// dart 1.0 
import 'dart:io';

void main(List<String> args) {
  String exec = Platform.executable;
  List<String> flags = Platform.executableArguments;
  Uri    script = Platform.script;

  print("exec=$exec");
  print("flags=$flags");
  print("script=$script");

  print("script arguments:");
  for(String arg in args)
    print(arg);
}

0 commentaires

23
votes

Utilisation des options n'est plus une option, utilisez:

void main(List<String> args) {
   print(args);
}


0 commentaires