Como obter o pacote YAML na linguagem Rust no Ubuntu 20.04
Rust nos fornece um pacote chamado yaml_rust, que temos que implementar dentro do nosso programa enquanto analisava qualquer arquivo YAML. Um recurso de segurança de memória e outras vantagens da linguagem ferrugem estão presentes no YAML_RUST, uma implementação pura de ferrugem do YAML 1.2. Vamos usar o comando de carga para construir um novo projeto dentro. Demos um comando "$ cargo novo exemplo1_cargo". Este comando cria um novo diretório chamado exemplo1_cargo. Para nomear o projeto, usamos o comando “$ cd exemplo1_cargo”.
Os arquivos que a carga cria são armazenados em um diretório com o mesmo nome que nosso projeto, exemplo1_cargo, pelo segundo comando. Liste os arquivos digitando o Exemplo1_Cargo Directory. Você notará que a carga produziu uma carga.Toml File e SRC Directory com o principal.arquivo rs. Para adicionar o Yaml-Rust dentro da ferrugem, abra a carga.Toml Arquivo e insira o “YAML-RUST = 0.4 ”na seção de dependências. À medida que a dependência da faixa de inhame é adicionada em nossa carga.Arquivo Toml, salve -o e vamos escrever um código no SRC principal.arquivo rs para analisar Yaml.
Exemplo 1
Com esta solução, queremos oferecer analisadores YAML 100% compatíveis com YAML 1.2. Existem apenas alguns problemas conhecidos que impedem o analisador de analisar corretamente quase todos os exemplos na especificação. Em algumas circunstâncias, um escalar simples vazio é uma exceção. Pode não ser um problema importante para a maioria dos usuários, pois a biblioteca popular Líbia também tem problemas para analisar essas amostras.
Aqui, temos que importar a dependência da YAML-RUST com a caixa externa. Uma dependência YAML-RUST escrita com a caixa externa é especificada por uma declaração de caixa externa. O identificador dado da declaração de caixa externa é então usada para ligar a caixa externa ao escopo de declaração. Depois disso, os documentos da YAML são carregados usando Yaml :: Yamlloader e acessados como um VEC/Hashmap. Então, dentro do FN Main () do Programa Rust, temos uma declaração Let usada para criar os dados da estrutura YAML. Há outra declaração Let que é chamada com os documentos variáveis. Dentro dessa variável de documentos, desembrulhamos os dados da YAML, que são carregados dentro da variável "s".
A função Unwrap é usada para fornecer os resultados do cálculo e do pânico de retorno, se algo inesperado ocorrer. A variável DOC seleciona o primeiro documento, que é definido pela expressão LET. Com o comando println, a depuração do documento é tratada. Com o “assert_eq!”Expressão, temos acesso ao índice para o mapa e a matriz. A matriz ou chave inválida também é verificada pelo método assert, que lança a mensagem de BadValue se eles não existir. Então, o objeto YAML é despejado na string.
O código anterior compila com o comando Cargo Run, que gera os mapas e a matriz do documento YAML no formato de ferrugem. Além disso, o documento YAML é impresso dentro da figura a seguir:
Exemplo # 2
O exemplo anterior demonstra a análise de um documento YAML dentro do programa Rust. Aqui, criamos um arquivo YAML separado que a ferrugem processará. Observe que mantenha o arquivo YAML dentro do diretório onde a pasta SRC e a carga.O arquivo Toml está localizado ou então o compilador não conseguiu analisar o arquivo. Temos um Students_result.Arquivo Yaml para a análise em ferrugem. O documento dentro deste arquivo YAML é o seguinte:
Aqui, temos o programa de ferrugem para analisar o arquivo YAML. Antes disso, temos que adicionar a dependência yaml_rust na carga.Arquivo Toml.
Aqui, incluímos o pacote yaml_rust com a declaração de criação externa e também declaramos o yaml_rust, que tem os objetos YAML Loader e Yaml Emissor. O Yamlloader carrega o documento YAML e o emissor YAML atuam como o fluxo de saída. Em seguida, inserimos nossa implementação principal da função, onde o erro de IO é atribuído para a falha de operações do sistema de arquivos. Dentro do fn main (), deixamos declarações declararem as variáveis. A variável DOCS possui o comando std :: fs para copiar o arquivo “student_results.yaml ”.
Há outros dados variáveis que carregam o arquivo YAML. Com o método Unwrap, exibimos os resultados do cálculo. Através da variável DOC, acessamos o documento YAML. Em seguida, iteramos os valores da chave do mapa e obtivemos a soma dos valores. As marcas dentro do documento YAML serão a soma da operação de iteração do mapa. Então, o padrão de correspondência da ferrugem para o caso: YAML :: Hash Operation. Além disso, para o Yaml :: Array, Yaml :: String e The Yaml :: Integer.
Conclusão
O artigo é tudo sobre a análise do arquivo YAML em ferrugem. A linguagem de ferrugem suporta arquivos e documentos YAML. Com a dependência da Yaml-Rust, podemos facilmente manipular os arquivos ou documentos da YAML em ferrugem. Temos que configurar a dependência da Yaml-Rust dentro da carga.Arquivo Toml, que pode nos permitir acessar o módulo YAML da ferrugem. Damos dois exemplos com a sintaxe da YAML e os analisamos com a linguagem de ferrugem.