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.