Comment analyser un fichier yaml en rouille

Comment analyser un fichier yaml en rouille
Les fichiers de configuration sont fréquemment écrits dans le langage de sérialisation des données yaml. Yaml est une abréviation qui est une langue de balisage, pas un document. En raison de sa nature et de sa simplicité lisibles par l'homme, Yaml est un langage informatique bien connu. En plus d'être utilisé seul, il peut également être combiné avec les autres langues de script. Ici avec cet article, le fichier yaml sera analysé de rouille. Une caisse appelée Rust est utilisée pour charger du texte localisé à partir d'une collection de fichiers basés sur la carte YAML. Au moment de la compilation, les mappages sont transformés en données que les programmes de rouille peuvent comprendre, et le texte localisé peut par la suite être chargé en invoquant la macro fournis. Rust a des modules qui peuvent lire les fichiers YAML. Cet article a démontré comment analyser les fichiers YAML en rouille à l'aide du package YAML_RUST. Le yaml_rust est l'analyseur pur pour yaml en rouille.

Comment obtenir le package Yaml dans la langue de rouille dans Ubuntu 20.04

Rust nous fournit un package appelé YAML_RUST, que nous devons mettre en œuvre dans notre programme tout en analysant tout fichier YAML. Une caractéristique de sécurité mémoire et d'autres avantages du langage de la rouille sont présents dans le YAML_RUST, une mise en œuvre de la rouille pure de YAML 1.2. Utilisons la commande cargo pour construire un nouveau projet à l'intérieur. Nous avons donné une commande "$ cargo nouvel exemple1_cargo". Cette commande crée un nouveau répertoire nommé exemple1_cargo. Pour nommer le projet, nous avons utilisé la commande «$ cd exemple1_cargo».

Les fichiers créés par la cargaison sont stockés dans un répertoire avec le même nom que notre projet, Exemple1_cargo, par la deuxième commande. Répertoriez les fichiers en entrant dans le répertoire Exemple1_cargo. Vous remarquerez que la cargaison a produit une cargaison.Fichier Toml et répertoire SRC avec le principal.fichier RS. Pour ajouter le Yaml-Rust à l'intérieur de la rouille, ouvrez la cargaison.Fichier Toml et insérer le «Yaml-Rust = 0.4 ”dans la section des dépendances. Comme la dépendance Yam-Rust est ajoutée dans notre cargaison.Fichier Toml, enregistrez-le et passons à l'écriture d'un code dans le SRC principal.Fichier RS ​​pour analyser Yaml.

Exemple 1
Avec cette solution, nous voulons offrir des analyseurs YAML qui sont 100% conformes à YAML 1.2. Il n'y a que quelques problèmes connus qui empêchent l'analyseur de analyser correctement presque tous les exemples de la spécification. Dans certaines circonstances, un scalaire simple vide est une exception. Ce n'est peut-être pas un problème majeur pour la plupart des utilisateurs, car la bibliothèque populaire Libyaml a également du mal à analyser ces échantillons.

Ici, nous devons importer la dépendance YAML-Rust avec la caisse externe. Une dépendance YAML-Rust écrite avec la caisse externe est spécifiée par une déclaration de caisse externe. L'identifiant donné de la déclaration de caisse externe est ensuite utilisé pour lier la caisse externe dans la portée de la déclaration. Après cela, les documents YAML sont chargés à l'aide de YAML :: YAMLLOADER et accessibles en tant que VEC / Hashmap. Ensuite, dans le FN Main () du programme Rust, nous avons une déclaration LET utilisée pour créer les données de structure YAML. Il y a une autre déclaration de LET qui est appelée avec les documents variables. À l'intérieur de cette variable DOCS, nous avons déballé les données YAML, qui est chargée à l'intérieur de la variable «S».

La fonction de déballage est utilisée pour donner les résultats du calcul et de la panique de retour si quelque chose d'inattendu se produit. La variable DOC sélectionne le premier document, qui est défini par l'expression LET. Avec la commande println, le débogage du document est géré. Avec le «ASSERT_EQ!»Expression, nous avons accès à l'index de la carte et du tableau. Le tableau ou la clé non valide est également vérifiée par la méthode Assert, qui lance le message BadValue s'il n'existe pas. Ensuite, l'objet YAML est jeté dans la chaîne.

Le code précédent se compile avec la commande cargo run, qui génère les cartes et le tableau du document YAML au format Rust. De plus, le document YAML est imprimé à l'intérieur de la figure suivante:

Exemple n ° 2
L'exemple précédent démontre l'analyse d'un document YAML à l'intérieur du programme Rust. Ici, nous avons créé un fichier YAML distinct que Rust traitera. Notez qui conserve le fichier YAML dans le répertoire où le dossier SRC et la cargaison.Le fichier Toml est situé ou si le compilateur n'a pas pu analyser le fichier. Nous avons un étudiant_result.Fichier Yaml pour l'analyse de rouille. Le document à l'intérieur de ce fichier YAML est le suivant:

Ici, nous avons le programme de rouille pour analyser le fichier yaml. Avant cela, nous devons ajouter la dépendance Yaml_rust dans la cargaison.fichier toml.

Ici, nous avons inclus le package yaml_rust avec la déclaration de création externe et a également déclaré le yaml_rust, qui a le chargeur yaml et les objets Emittez YAML. Le Yamlloader charge le document YAML et l'émetteur YAML agit comme le flux de sortie. Ensuite, nous avons entré notre implémentation de fonction principale, où l'erreur IO est attribuée pour la défaillance des opérations du système de fichiers. À l'intérieur du FN Main (), nous avons laissé les déclarations déclarer les variables. La variable DOCS a la commande std :: fs pour copier le fichier «Student_results.yaml ".

Il existe une autre données variable qui charge le fichier yaml. Avec la méthode Unlemap, nous avons affiché les résultats du calcul. Grâce à la variable Doc, nous avons accédé au document YAML. Ensuite, nous avons itéré les valeurs des clés de la carte et obtenu la somme des valeurs. Les marques à l'intérieur du document YAML seront la somme de l'opération d'itération de la carte. Ensuite, le motif de correspondance de la rouille pour l'affaire: Yaml :: Hash Operation. Aussi, pour le Yaml :: Array, Yaml :: String et The Yaml :: Integer.

Conclusion

L'article concerne l'analyse du fichier YAML à Rust. Le langage de la rouille prend en charge les fichiers et documents YAML. Avec la dépendance YAML-Rust, nous pouvons facilement manipuler les fichiers ou documents YAML en rouille. Nous devons configurer la dépendance YAML-Rust à l'intérieur de la cargaison.Fichier Toml, qui peut nous permettre d'accéder au module YAML de Rust. Nous avons donné deux exemples avec la syntaxe Yaml et les avons analysés avec la langue de la rouille.