Por exemplo, você pode passar no diretório que deseja listar para o comando ls. Portanto, o caminho para o diretório é conhecido como o argumento do comando LS.
Este artigo analisará os fundamentos da aceitação e análise de argumentos da linha de comando na linguagem de programação da ferrugem usando o módulo Env da biblioteca padrão.
Configuração e importações
O primeiro passo é criar um diretório para armazenar nosso código -fonte. Para simplificar, vamos gerar um pacote de ferrugem usando carga como:
$ cargo new rust_arguments
Renomeie seu projeto para qualquer nome que você achar adequado.
Em seguida, navegue no diretório de origem e abra o principal.arquivo rs com seu editor de texto favorito.
$ cd rust_argudents/src && vim main.rsO segundo passo é importar os módulos necessários. Usaremos o módulo Env da biblioteca padrão para analisar argumentos da linha de comando para este artigo.
O módulo Env fornece uma função para trabalhar com variáveis de ambiente, argumentos, etc. Para usá -lo, importá -lo usando como:
use std :: Env;Vetor de argumento
Dentro da função principal, precisamos criar um vetor de strings que mantenham os argumentos que passaremos para o programa.
Podemos fazer isso adicionando a seguinte linha:
Deixe Arg: VECO código acima usa o método de coleta para iterar sobre o argumento passado para os argumentos e adicione -os ao vetor. O vetor é de strings de tipo como anotado pelo VEC em nosso caso. Isso ocorre porque a ferrugem não pode inferir o tipo de coleção de vetores.
Imprimir argumentos
Agora que podemos aceitar argumentos de comando e armazená -los em um vetor, vamos tentar imprimi -los. Podemos fazer isso com a função ITER, como mostrado abaixo:
use std :: Env;A função ITER irá itera sobre cada argumento passado para o programa e imprimirá -lo. Se executarmos o código acima, devemos ver uma saída como:
O programa retorna o nome do executável. Rust tratará o nome do executável como o primeiro argumento. Portanto, o argumento no índice 0 no vetor de argumento é o caminho para o nome do programa.
Este é um recurso comum em outras linguagens de programação, incluindo C, Python, Go, etc.
Se fornecermos outros argumentos após o nome do programa, Rust os anexará ao índice 1, 2, 3… para o vetor de argumento.
Por exemplo:
Cargo Run argument1 argumento2 argumento3… argumentonObserve que o exemplo acima passa 5 argumentos para o programa. O resultado é como mostrado:
Target \ debug \ rust_cmd_args.exeComo você pode ver, o programa imprime todos os argumentos aprovados.
Acessando e salvando argumentos
Até agora, apenas imprimimos os argumentos do programa. Embora ilustre como os vetores de argumento funcionam, ele realmente não faz muito.
Podemos acessar e salvar cada argumento em uma variável para expandir nosso programa.
Para acessar um argumento, podemos usar o índice como:
use std :: Env;No exemplo acima, acessamos o primeiro argumento usando o índice 1. O resultado é como mostrado:
Cargo Run Hi!Podemos salvar o argumento em uma variável como:
use std :: Env;No programa acima, aceitamos salvar o primeiro argumento e salvá -lo em uma variável. Em seguida, usamos seu valor em um bloco se ... else para executar uma ação.
Podemos executar o código acima como:
$ Cargo Run HiO programa deve devolver “oi de volta!" como:
Se passarmos outro argumento que não é igual a "oi", executamos o bloco else como:
$ Cargo Run ByeConclusão
Fantástico! Temos um programa que pode aceitar, analisar, salvar e argumentar com isso. Continue praticando para aprender mais.