¿Cómo analizo un archivo Yaml en Ruby??

¿Cómo analizo un archivo Yaml en Ruby??
Al desarrollar una aplicación útil en Ruby, existen numerosas circunstancias en las que queremos generar algunos archivos de configuración. Por conveniencia, queremos poner nuestra aplicación útil en el servidor del cliente; Por lo tanto, debemos crear archivos de configuración. Escribir archivos de configuración generalmente implica usar el lenguaje de serialización de datos YAML. Yaml es una abreviatura que es un lenguaje de margen. Se emplea con frecuencia en programas que almacenan o transportan datos y archivos de configuración. La serialización de datos es una característica del módulo YAML en Ruby. El lenguaje de marcado extensible (XML) y YAML están destinados a su uso en comunicaciones, pero XML tiene una sintaxis más extensa, mientras que YAML tiene una gramática más condensada.

Cómo conseguir yaml en el idioma rubí en Ubuntu 20.04

Para analizar el archivo Yaml en el idioma Ruby, debemos instalarlo en nuestro sistema. Al ejecutar el siguiente comando, podemos instalar Yaml en Ruby en Ubuntu 20.04.

$ sudo apt-get actualización
$ sudo apt-get install ruby-safe-yaml

Después de instalar el paquete Yaml en su computadora. La pieza de código que se da a continuación se puede usar en nuestra aplicación para usar la biblioteca YAML. Es posible que necesitemos importar un archivo YAML en el idioma rubí. La biblioteca YAML facilita la importación de un archivo YAML.

requiere 'yaml'

Aquí hay algunos casos de carga de archivos YAML con Ruby. El módulo YAML nos permite importar rápidamente cualquier archivo YAML en nuestro programa Ruby.

Ejemplo # 1: Analizar un archivo YAML con el método de archivo de carga en Ruby en Ubuntu 20.04

Una transmisión Yaml se "cargue" cuando se convierte en tipos nativos o viceversa. Este podría ser cualquier objeto Ruby, incluido un hash, una matriz u otro tipo. Yaml primero debe analizarse antes de que pueda cargarse en ese tipo. En la etapa de análisis, en lugar de durante la escritura nativa, la estructura del documento se vuelve clara.

Hemos insertado un comando "IRB" e ingresamos en el shell de inmediato de Ruby, donde podemos ejecutar fácilmente los comandos y la función de Ruby. Como tenemos que analizar el archivo YAML en este ejemplo, primero debemos crear el archivo. Hemos incluido la biblioteca dando el comando YAML requerido y su valor verdadero devuelto. Después de esto, hemos insertado una variedad de nombres de algunas frutas dentro de las frutas del objeto. Por el archivo.Método abierto, hemos asignado un nombre de archivo con la extensión YML. Dentro del archivo.Sección de método abierto, hemos realizado el archivo.Operación de escritura que convierte el objeto de frutas en el formato YAML.

Puede ver que el contenido se agrega dentro de las frutas.archivo YML en formato YAML.

Ahora, para analizar las frutas.Archivo YML en el idioma Ruby, hemos utilizado el método de archivo de carga. El objeto se crea como fruit_array, que tiene el método de archivo de carga YAML. Dentro de ese método, hemos invocado la función de lectura que ingresa las frutas.El archivo YML como parámetro. Ahora, para imprimir el formato YAML en Ruby, incluya el comando "P Fruit_Array", y la matriz se genera en un formato de lenguaje Ruby.

Ejemplo # 2: Analizar un archivo YAML para el método de estructura de datos compleja en Ruby en Ubuntu 20.04

El proceso de trabajar con estructuras de datos más complicadas es el mismo. Aquí se presenta una receta en forma de hash que contiene una matriz que contiene algunos hashes.

Necesitamos hacer el archivo yaml primero antes de que Ruby pueda analizarlo. El código anterior muestra cómo crear la estructura de datos compleja en el archivo YAML. Hemos agregado la biblioteca "Yaml" para acceder a las funciones de Yaml en la carcasa Ruby. Luego, hemos definido un objeto "receta", y dentro de ese objeto, el hash se crea con campos diferentes y anidados. Con el archivo.Método abierto, hemos abierto un archivo "batido.YML ”en la opción Modo de escritura. Luego convertimos el objeto "receta" en el formato Yaml con la extensión To_yaml.

El batido.El archivo YML se abre y los datos se insertan correctamente en el interior en formato YAML.

Ahora en el siguiente comando, podemos analizar fácilmente el archivo Yaml en el idioma Ruby. Cuando se recupera el archivo, se devuelve un nuevo hash que contiene datos idénticos a los datos cargados.

Ejemplo # 3: Analizar un archivo Yaml de la transmisión en Ruby en Ubuntu 20.04

Múltiples documentos pueden estar presentes en una transmisión Yaml. La transmisión completa no necesitará con frecuencia cargarse en la memoria. Como alternativa, debe cargar cada documento individualmente. Para iterar en todos los documentos, utilizamos la función de documentos YAML :: Load de Ruby. Suponga, para ilustración, que tenemos un archivo de registro de un servidor web que está compuesto por un flujo de varios documentos YAML:

Ahora, vamos a analizar este archivo en el idioma Ruby mediante el siguiente comando:

Hemos importado la Biblioteca Yaml en nuestro shell de inmediato "IRB". Luego, hemos declarado una variable "registro" donde hemos abierto el "mi.archivo yaml ". Entonces, tenemos otro objeto, "YP". Dentro de ese objeto, hemos implementado el yaml :: load_stream y procesamos iterativamente los documentos de este archivo. Al método Ruby Puts, hemos asignado el nombre de los campos del archivo YAML que se analizará en el formato Ruby.

Aquí, hemos generado un resumen de cada línea en la siguiente instantánea:

Conclusión:

Ahora, estamos terminando el artículo sobre analizar el archivo Yaml en el idioma Ruby. Dado que YAML es esencialmente solo un formato de datos, no hay necesidad de una biblioteca YAML, ya que es necesario interpretar archivos formatados en YAML. Para la serialización de datos en formato YAML, este módulo "requiere yaml" ofrece una interfaz rubí. Con el archivo de carga YAML y el método de análisis YAML, podemos analizar rápidamente el archivo YAML en Ruby. Para ayudarlo a comprender, incluimos tres ejemplos diferentes de análisis del archivo Yaml en Ruby.