CodeBlanks Logo Icon CodeBlanks

args

Learn CLI arguments with the args package.

The args package

args is Dart's package for parsing command-line arguments. It is imported with import 'package:args/args.dart';. The ArgParser class defines options; the parse method parses arguments.

Example: final parser = ArgParser()..addOption('name'); final results = parser.parse(['--name=Ayşe']);. Here the --name option is defined and the --name=Ayşe argument is parsed. results['name'] yields 'Ayşe'. This is the standard way to handle user input in CLI tools.

Defining options with ArgParser

ArgParser adds three kinds of options: addOption (text option), addFlag (boolean flag), addMultiOption (list). Each option can have an abbreviation (abbr) and a help text (help).

Example: final parser = ArgParser()..addOption('name', abbr: 'n');. Here the --name option is added with the -n abbreviation. After parsing you read results['name']. With results.wasParsed('name') you check whether the option was given.

Practice Parse a name with args

Add import 'package:args/args.dart';. In main create a parser with final parser = ArgParser()..addOption('name');. Parse with final results = parser.parse(['--name=Ayşe']);. Print with print('Hello, ${results['name']}!').

Starter code

main.dart
// import the args package

void main() {
  // parse --name with ArgParser and print
}

Sample solution

main.dart
import 'package:args/args.dart';

void main() {
  final parser = ArgParser()..addOption('name');
  final results = parser.parse(['--name=Ayşe']);
  print('Hello, ${results["name"]}!');
}

Expected output

Hello, Ayşe!

Questions and answers

Review the lesson questions together with their answers. To test yourself, solve the lesson interactively.

1 What does the args package do?

  • Makes HTTP requests
  • Parses CLI arguments
  • Manages databases Correct answer
  • Manipulates DOM

Explanation: the args package parses command-line arguments.

2 Creating an ArgParser

Question
final parser = ____();
Answer
final parser = ArgParser();

Explanation: ArgParser() creates a new parser.

3 Match the args parts

Term Meaning
args CLI package
ArgParser Parser
addOption Adds an option
parse Parses

All lessons in Advanced