Как получить доступ к параметрам argv/командной строки в Dart?

И есть ли в Dart библиотека getopt?


person mcandre    schedule 14.02.2012    source источник


Ответы (4)


Использование параметров больше не вариант, используйте:

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

Чтобы получить исполняемый файл, используйте Platform.executable (платформа происходит от dart:io)

Для разбора аргументов, переданных в main, используйте этот крутой пакет

person Tomas Kulich    schedule 25.11.2013

Изменить: это больше недействительно, см. принятый ответ выше.

См. Options.

http://api.dartlang.org/dart_io/Options.html

List<String> argv = (new Options()).arguments;
person ustun    schedule 14.02.2012
comment
Я вижу, что Dart опускает имя скрипта в аргументах. Вы знаете, как получить его? Ruby и Perl делают это с помощью $0. - person mcandre; 14.02.2012
comment
А, у Options есть аксессор script. rosettacode.org/wiki/Program_name#Dart - person mcandre; 14.02.2012
comment
Небольшой дополнительный комментарий: по состоянию на март 2013 года класс Options находится в dart:io. - person Florian Loitsch; 22.03.2013
comment
Класс Options больше не существует в dart:io. Вместо этого используйте package:args. - person Steven Roose; 14.11.2014

Я использую эту библиотеку для определения и анализа аргументов командной строки http://pub.dartlang.org/packages/args< /а>

person adam-singer    schedule 21.12.2012

person    schedule
comment
Некоторые комментарии: (1) вам не нужно импортировать основную библиотеку, (2) оператор + нельзя использовать для конкатенации строк, поэтому используйте Args: ${new Options().arguments} - person rmuller; 04.09.2012
comment
Я думаю, что для версии Dart/Mac OS X, которую я использую, вам действительно нужно импортировать dart:core. Спасибо за советы по Дарту. Очевидно, что + можно использовать для конкатенации строк, потому что это работает в этом фрагменте. Возможно, интерполяция строк предпочтительнее в Dart, но это не единственный вариант. - person mcandre; 04.09.2012