Lendo argumentos de linha de comando

Dart:
Lendo argumentos de linha de comando

Como fazer:

Dart oferece uma abordagem direta para acessar argumentos de linha de comando via a List<String> args no método main. Abaixo está um exemplo simples que demonstra como ler e utilizar argumentos de linha de comando.

// main.dart
void main(List<String> args) {
  print('Argumentos de Linha de Comando:');
  for (var i = 0; i < args.length; i++) {
    print('${i + 1}: ${args[i]}');
  }
}

Para executar este programa Dart e passar argumentos de linha de comando, use o Dart CLI assim:

dart run main.dart Olá Mundo!

Saída esperada:

Argumentos de Linha de Comando:
1: Olá
2: Mundo!

Usando uma Biblioteca Terceirizada Popular: args

Embora as capacidades internas do Dart para lidar com argumentos de linha de comando sejam robustas para muitas aplicações, o pacote args oferece uma forma refinada de definir e analisar argumentos de linha de comando para necessidades mais complexas.

Primeiro, adicione o pacote args ao seu pubspec.yaml:

dependencies:
  args: ^2.0.0

Em seguida, use-o em seu programa da seguinte forma:

// Usando o pacote 'args'
import 'package:args/args.dart';

void main(List<String> arguments) {
  final parser = ArgParser()..addOption('name', abbr: 'n');
  final argResults = parser.parse(arguments);

  if (argResults.wasParsed('name')) {
    print('Olá, ${argResults['name']}!');
  } else {
    print('Nenhum nome fornecido.');
  }
}

Execute o programa com um argumento nomeado:

dart run main.dart --name=João

Saída esperada:

Olá, João!

Esta introdução simples ao parseamento de argumentos de linha de comando, tanto nativamente quanto com a biblioteca args, mostra como o Dart pode tratar entradas de usuário diretamente do console, abrindo um caminho para criar aplicações CLI mais interativas e dinâmicas.