Et Dart a-t-il une bibliothèque getopt? p>
5 Réponses :
Edit: Ce n'est plus valide, voir la réponse acceptée ci-dessus.
voir Options code>. p>
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 $ code>.
Ah, options dispose d'un script code> Accessor. rosettacode.org/wiki/program_name#dart
Petit commentaire supplémentaire: À compter de mars 2013, la classe d'options est à Dart: io.
La classe code> Options code> n'existe plus dans Dart: io. Utilisez le paquet: args à la place.
#!/usr/bin/env dart main() { print("Args: " + new Options().arguments); }
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 code>. Merci pour les conseils de dard. Évidemment
+ code> 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.
J'utilise cette bibliothèque pour définir et analyser la ligne de commande args http://pub.dartlang.org/packages / args p>
// 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); }
Utilisation des options n'est plus une option, utilisez:
void main(List<String> args) { print(args); }