args
- Dart course
- Advanced
- Lesson 55/83
- 5 min
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
// import the args package
void main() {
// parse --name with ArgParser and print
}Sample solution
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
final parser = ____();
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 |