Comment analyser un fichier yaml dans Ruby?

Comment analyser un fichier yaml dans Ruby?
Lors du développement d'une application utile dans Ruby, il existe de nombreuses circonstances dans lesquelles nous voudrions générer des fichiers de configuration. Pour plus de commodité, nous voulons mettre notre application utile sur le serveur du client; Ainsi, nous devons créer des fichiers de configuration. La rédaction de fichiers de configuration implique généralement l'utilisation du langage de sérialisation des données YAML. Yaml est une abréviation qui est une langue de balise, pas un document. Il est fréquemment utilisé dans des programmes qui stockent ou transportent des données et des fichiers de configuration. La sérialisation des données est une caractéristique du module YAML dans Ruby. Le langage de majoration extensible (XML) et YAML sont tous deux destinés à être utilisés dans les communications, mais XML a une syntaxe plus étendue, tandis que YAML a une grammaire plus condensée.

Comment obtenir Yaml dans la langue rubis dans Ubuntu 20.04

Pour analyser le fichier yaml dans la langue Ruby, nous devons l'installer dans notre système. En exécutant la commande suivante, nous pouvons installer YAML dans Ruby sur Ubuntu 20.04.

$ sudo apt-get updat
$ sudo apt-get install ruby-safe-yaml

Après l'installation du package YAML sur votre ordinateur. Le morceau de code ci-dessous peut être utilisé dans notre application pour utiliser la bibliothèque YAML. Nous devrons peut-être importer un fichier YAML dans la langue Ruby tout en y faisant face. La bibliothèque YAML facilite l'importation d'un fichier YAML.

nécessitent «yaml»

Voici quelques instances de chargement de fichiers YAML avec Ruby. Le module YAML nous permet d'importer rapidement un fichier YAML dans notre programme Ruby.

Exemple n ° 1: analyser un fichier yaml avec la méthode du fichier de chargement dans Ruby dans Ubuntu 20.04

Un flux YAML est «chargé» lorsqu'il est converti en types natifs ou vice versa. Il peut s'agir de n'importe quel objet Ruby, y compris un hachage, un tableau ou un autre type. Yaml doit d'abord être analysé avant de pouvoir être chargé dans ces types. Au stade de l'analyse, plutôt que pendant la dactylographie native, la structure du document devient clair.

Nous avons inséré une commande «IRB» et l'avons entrée dans le shell d'invite Ruby, où nous pouvons facilement exécuter les commandes et la fonction Ruby. Comme nous devons analyser le fichier YAML dans cet exemple, nous devons d'abord créer le fichier. Nous avons inclus la bibliothèque en donnant la commande YAML requise et sa valeur réelle renvoyée. Après cela, nous avons inséré un tableau des noms de certains fruits à l'intérieur des fruits d'objet. Par le fichier.Méthode ouverte, nous avons attribué un nom de fichier avec l'extension YML. À l'intérieur du fichier.Section Méthode ouverte, nous avons effectué le fichier.Écriture opération qui convertit l'objet Fruits au format YAML.

Vous pouvez voir que le contenu est ajouté à l'intérieur des fruits.Fichier YML au format YAML.

Maintenant, pour analyser les fruits.Fichier YML dans la langue Ruby, nous avons utilisé la méthode du fichier de chargement. L'objet est créé comme fruit_array, qui a la méthode du fichier de chargement YAML. À l'intérieur de cette méthode, nous avons invoqué la fonction de lecture qui saisit les fruits.Fichier YML comme paramètre. Maintenant, pour imprimer le format Yaml en rubis, incluez la commande «p fruit_array», et le tableau est généré dans un format de langue rubis.

Exemple n ° 2: analyser un fichier YAML pour la méthode de structure de données complexe dans Ruby dans Ubuntu 20.04

Le processus de travail avec des structures de données plus compliquées est la même. Une recette est présentée ici sous la forme d'un hachage qui contient un tableau qui contient lui-même des hachages.

Nous devons faire le fichier YAML avant avant que Ruby puisse l'analyser. Le code précédent montre comment créer la structure de données complexe dans le fichier YAML. Nous avons ajouté la bibliothèque «Yaml» pour accéder aux fonctionnalités YAML dans la coque Ruby. Ensuite, nous avons défini une «recette» d'objet, et à l'intérieur de cet objet, le hachage est créé avec des champs différents et imbriqués. Avec le fichier.Méthode ouverte, nous avons ouvert un fichier «Milkshake.yml ”dans l'option Mode d'écriture. Ensuite, nous avons converti la «recette» de l'objet en format YAML avec l'extension TO_YAML.

Le milkshake.Le fichier YML est ouvert et les données sont insérées avec succès à l'intérieur au format YAML.

Maintenant dans la commande suivante, nous pouvons facilement analyser le fichier yaml dans la langue Ruby. Lorsque le fichier est récupéré, un nouveau hachage contenant des données identiques aux données téléchargées est renvoyé.

Exemple # 3: analyser un fichier yaml du flux dans Ruby dans Ubuntu 20.04

Plusieurs documents peuvent être présents dans un flux YAML. Le flux complet n'aura pas fréquemment être chargé en mémoire. Comme alternative, vous devez charger chaque document individuellement. Pour itérer sur les documents, nous utilisons la fonction de Ruby's Yaml :: Load Documents. Supposons, pour l'illustration, que nous avons un fichier journal à partir d'un serveur Web composé d'un flux de divers documents YAML:

Maintenant, nous allons analyser ce fichier dans la langue Ruby par la commande suivante:

Nous avons importé la bibliothèque YAML dans notre coquille d'invite «IRB». Ensuite, nous avons déclaré un «journal» variable où nous avons ouvert le «mon.fichier yaml ”. Ensuite, nous avons un autre objet, «YP». À l'intérieur de cet objet, nous avons déployé le yaml :: load_stream et traité de manière itérative les documents de ce fichier. À la méthode Ruby Puts, nous avons attribué le nom des champs du fichier YAML qui sera analysé dans le format Ruby.

Ici, nous avons publié un résumé de chaque ligne dans l'instantané suivant:

Conclusion:

Maintenant, nous terminons l'article sur l'analyse du fichier YAML dans la langue Ruby. Étant donné que YAML est essentiellement juste un format de données, il n'est pas nécessaire d'une bibliothèque YAML car elle est nécessaire pour interpréter les fichiers de YAML. Pour la sérialisation des données au format YAML, ce module «nécessite YAML» offre une interface Ruby. Avec le fichier de chargement YAML et la méthode d'analyse YAML, nous pouvons rapidement analyser le fichier YAML dans Ruby. Pour vous aider à comprendre, nous avons inclus trois exemples différents d'analyse du fichier YAML dans Ruby.