Cómo analizar un archivo yaml en óxido

Cómo analizar un archivo yaml en óxido
Los archivos de configuración se escriben con frecuencia en el lenguaje de serialización de datos YAML. Yaml es una abreviatura que es un lenguaje de marcado, no un documento. Debido a su naturaleza y simplicidad legible por humanos, Yaml es un lenguaje informático bien conocido. Además de ser usado solo, también se puede combinar con los otros idiomas de secuencia de comandos. Aquí con este artículo, el archivo YAML se analizará en Rust. Se utiliza una caja llamada Rust para cargar texto localizado de una colección de archivos basados ​​en mapas yaml. En el momento de la compilación, las asignaciones se transforman en datos que los programas de óxido pueden entender, y el texto localizado puede cargarse posteriormente invocando la macro suministrada. Rust tiene algunos módulos que pueden leer archivos YAML. Este artículo ha demostrado cómo analizar los archivos YAML en óxido utilizando el paquete YAML_RUST. El yaml_rust es el analizador puro para yaml en óxido.

Cómo obtener el paquete Yaml en el idioma de óxido en Ubuntu 20.04

Rust nos proporciona un paquete llamado YAML_RUST, que tenemos que implementar dentro de nuestro programa mientras analiza cualquier archivo YAML. Una característica de seguridad de la memoria y otras ventajas del lenguaje de óxido están presentes en el YAML_RUST, una implementación de óxido puro de Yaml 1.2. Usemos el comando de carga para construir un nuevo proyecto en el interior. Hemos dado un comando "$ Cargo nuevo ejemplo1_cargo". Este comando crea un nuevo directorio llamado Ejemplo1_cargo. Para nombrar el proyecto, hemos utilizado el comando "$ cd ejemplo1_cargo".

Los archivos que crea la carga se almacenan en un directorio con el mismo nombre que nuestro proyecto, ejemplo1_cargo, por el segundo comando. Enumere los archivos ingresando el directorio Ejemplo1_cargo. Notarás que la carga ha producido una carga.Archivo Toml y directorio SRC con el principal.archivo RS. Para agregar la alianza yaml dentro del óxido, abra la carga.Archivo Toml e inserte el "Yaml-Rust = 0.4 ”en la sección de dependencias. A medida que se agrega la dependencia de la altura de ñame en nuestra carga.Archivo Toml, guárdelo y avancemos para escribir un código en el SRC Main.archivo rs para analizar yaml.

Ejemplo 1
Con esta solución, queremos ofrecer analizadores YAML que cumplan el 100% con Yaml 1.2. Solo hay unos pocos problemas conocidos que evitan que el analizador analice correctamente casi todos los ejemplos de la especificación. En algunas circunstancias, un escalar simple vacío es una excepción. Sin embargo, puede que no sea un problema importante para la mayoría de los usuarios, ya que la popular biblioteca Libyaml también tiene problemas para analizar estas muestras.

Aquí, tenemos que importar la dependencia de la almohadilla yaml con la caja externa. Una dependencia de yaml-rust escrita con la caja externa se especifica mediante una declaración de cajas externas. El identificador dado de la declaración de la caja externa se usa para unir la caja externa al alcance declarando el alcance. Después de eso, los documentos YAML se cargan usando Yaml :: Yamlloader y se accede como VEC/Hashmap. Luego, dentro del programa FN Main () del programa de óxido, tenemos una declaración de letras utilizadas para crear los datos de la estructura YAML. Hay otra declaración de Let que se llama con los documentos variables. Dentro de esa variable de documentos, hemos desenvuelto los datos YAML, que se cargan dentro de la variable "S".

La función Unwrap se usa para dar los resultados del pánico de cálculo y retorno si se produce algo inesperado. La variable DOC selecciona el primer documento, que se define por la expresión de LET. Con el comando println, se maneja la depuración del documento. Con el "ASSERT_EQ!Expresión, tenemos acceso al índice para el mapa y la matriz. La matriz o clave no válida también se verifica mediante el método de afirmación, que arroja el mensaje de Badvalue si no existen. Luego, el objeto Yaml se arroja a la cadena.

El código anterior se compila con el comando de ejecución de carga, que genera los mapas y la matriz del documento YAML en el formato de óxido. Además, el documento YAML se imprime dentro de la siguiente figura:

Ejemplo # 2
El ejemplo anterior demuestra el análisis de un documento YAML dentro del programa de óxido. Aquí, hemos creado un archivo YAML separado que procesará Rust. Tenga en cuenta que mantiene el archivo YAML dentro del directorio donde la carpeta SRC y la carga.Se encuentra el archivo Toml o el compilador no pudo analizar el archivo. Tenemos un student_result.Archivo yaml para el análisis en óxido. El documento dentro de este archivo YAML es el siguiente:

Aquí, tenemos el programa de óxido para analizar el archivo Yaml. Antes de eso, tenemos que agregar la dependencia YAML_RUST en la carga.archivo Toml.

Aquí, hemos incluido el paquete YAML_RUST con la declaración de creación extern y también declaramos los objetos YAML_RUST, que tiene los objetos YAML cargador y el emisor Yaml. El Yamlloader carga el documento Yaml y el emisor Yaml actúa como la transmisión de salida. Luego, ingresamos a nuestra implementación de la función principal, donde se asigna el error IO para la falla de las operaciones del sistema de archivos. Dentro del fn main (), hemos dejado que las declaraciones declaren las variables. La variable DOCS tiene el comando std :: fs para copiar el archivo "student_results.Yaml ".

Hay otros datos variables que cargan el archivo YAML. Con el método Unwrap, hemos mostrado los resultados del cálculo. A través del documento variable, hemos accedido al documento YAML. Luego, iteramos los valores de la clave del mapa y obtuvimos la suma de los valores. Las marcas dentro del documento YAML serán la suma de la operación de iteración del mapa. Luego, el patrón de coincidencia de óxido para el caso: Yaml :: hash Operation. Además, para el Yaml :: Array, Yaml :: String y el Yaml :: Integer.

Conclusión

El artículo trata sobre el análisis del archivo yaml en óxido. El lenguaje de óxido admite archivos y documentos YAML. Con la dependencia de la almohadilla yaml, podemos manipular fácilmente los archivos y documentos YAML en óxido. Tenemos que configurar la dependencia de la almohadilla yaml dentro de la carga.Archivo Toml, que puede permitirnos acceder al módulo Yaml de Rust. Hemos dado dos ejemplos con la sintaxis yaml y los habilamos con el lenguaje de óxido.