ArgParser
- Dart kursu
- İleri seviye
- Ders 56/83
- 5 dk
ArgParser ile seçenek işleme öğrenirsin.
ArgParser seçenek türleri
ArgParser üç yöntemle seçenek ekler. addOption('name') bir metin seçeneği; kullanıcı --name=değer verir. addFlag('verbose') bir boolean bayrak; --verbose varsa true, yoksa false. addMultiOption('files') birden çok değerli liste.
Her yöntem abbr (kısaltma) ve help (yardım metni) alır. Örnek: addFlag('verbose', abbr: 'v', help: 'Ayrıntılı çıktı'). Ayrıştırma sonrası results['verbose'] true veya false döner.
ArgResults
parser.parse(arguments) bir ArgResults nesnesi döndürür. Seçenek değerlerine results['name'] gibi erişirsin. Bayraklar boolean, seçenekler metin, çoklu seçenekler liste döner.
Konumsal (positional) argümanlar results.rest listesindedir. Bir seçeneğin verilip verilmediğini results.wasParsed('name') ile kontrol edersin. Bu, CLI aracında farklı davranışları tetiklemenin temel yoludur. Örneğin --verbose bayrağı verildiyse ayrıntılı çıktı açarsın; verilmediyse sessiz çalışırsın.
Uygulama Bayrak ve dosya ayrıştır
import 'package:args/args.dart'; ekle. main içinde final parser = ArgParser()..addFlag('verbose', abbr: 'v')..addOption('file'); oluştur. final results = parser.parse(['--verbose', '--file=notlar.txt']); ile ayrıştır. print('Ayrıntılı: ${results['verbose']}') ve print('Dosya: ${results['file']}') ile yazdır.
Başlangıç kodu
// args paketini içe aktar
void main() {
// ArgParser ile --verbose bayrağı ve --file seçeneğini ayrıştır
}Örnek çözüm
import 'package:args/args.dart';
void main() {
final parser = ArgParser()
..addFlag('verbose', abbr: 'v')
..addOption('file');
final results = parser.parse(['--verbose', '--file=notlar.txt']);
print('Ayrıntılı: ${results["verbose"]}');
print('Dosya: ${results["file"]}');
}Beklenen çıktı
Ayrıntılı: true Dosya: notlar.txt
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 addFlag çağrısı
parser.____('verbose', abbr: 'v');
parser.addFlag('verbose', abbr: 'v');
Açıklama: addFlag('verbose', abbr: 'v') bir boolean bayrak ekler.
2 addFlag ne ekler?
- Liste
- Boolean bayrak Doğru cevap
- Sayı
- Metin seçeneği
Açıklama: addFlag boolean bayrak ekler.
3 ArgResults parçalarını eşleştir
| Kavram | Anlamı |
|---|---|
results['name'] |
Seçenek değeri |
results['verbose'] |
Boolean bayrak |
results.rest |
Konumsal argümanlar |
wasParsed |
Verildi mi kontrolü |