Hola, en Esta discusión de Stack Overflow se expone el funcionamiento y caso de uso del unwrap. En esencia es lo mismo que dice el profesor, pero exponen un poquito más a detalle cuando usarlo o cuando no. Nunca hace mal una lectura extra 😃
Inicia tu camino con Rust
Bienvenida al Curso Básico de Rust
Rust: un lenguaje amado por los desarrolladores
Instalando Rust en MacOS o Linux
Instalando Rust en Windows
Domina las bases de Rust
Creando un nuevo proyecto en Rust
Variables de Rust y cómo mostrarlas en pantalla
Recibiendo datos del usuario
Condicionales
Ciclo Loop
Primer proyecto: calculadora digital
Descripción del proyecto
Cargo (dependencias)
¿Qué significa unwrap?
Creando nuestra calculadora
Estructuras y funciones en Rust
Arrays y Ciclo For en Rust
Las funciones en Rust
Segundo proyecto: videojuego de texto
Descripción del proyecto: videojuego de texto
Creación y descripción del entorno
Estructuras básicas, narrativa y opciones de Rust
Interacción con el entorno y datos del usuario
Esto es solo el comienzo
Únete a la comunidad, Rustacean
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Hector Pulido
Rust es un lenguaje de bajo nivel, lo que lleva a tener diferencias importantes con respecto a lenguajes de alto nivel como Javascript o Python. El manejo de errores es uno de los puntos donde Rust innova totalmente en comparación a otros lenguajes.
En Rust, no existen los valores nulos. Al tratarse de un lenguaje que busca la seguridad y la robustez en el software, no permite los errores en tiempo de ejecución producto del valor nulo de una variable.
En Rust todo es un tipo de dato. El tipo de dato Option
, contiene dentro el tipo de dato que puede existir o no como un número entero o un string. Devolverá el mismo, si existe, o nos devolverá en caso contrario un None
que indica su no existencia, pero que no es lo mismo que null, ya que es un tipo de dato, y null un espacio en memoria totalmente vacio.
Una operación en Rust devuelve el tipo de dato Result
, donde T
es el valor de la operación exitosa y E
un posible error. En Rust, los errores también son un tipo de dato. Para manejarlos, utilizamos .unwrap()
. el mismo nos devuelve el valor T
que necesitamos si este existe o E
en caso de producirse un error.
Nota: En Rust tampoco existe la sentencia
try/catch
para la captura de errores como en otros lenguajes.
Si no implementamos .unwrap()
, podemos obtener un warning por consola que nos advierte de la posibilidad del error en una operación. De esta manera, gracias a este tipo de dato que contiene el error, podemos actuar en consecuencia a partir de identificar el tipo de error.
El manejo de errores es Rust es algo complejo de entender. La práctica hará que puedas lograr comprenderlo a partir de la resolución de problemas.
Contribución creada por: Kevin Fiorentino.
Aportes 6
Preguntas 2
Hola, en Esta discusión de Stack Overflow se expone el funcionamiento y caso de uso del unwrap. En esencia es lo mismo que dice el profesor, pero exponen un poquito más a detalle cuando usarlo o cuando no. Nunca hace mal una lectura extra 😃
Minuto 1:27 - “Básicamente, si el valor existe, entonces nos devolverá
None
(que no es lo mismo que null) o nos devolverá el valor como tal”.
Creo que hay un pequeño error en cómo se expresó el profesor, devuelve None
si NO existe, de lo contrario devuelve el valor que corresponde. Corrijanme sí me equivoco, por favor.
Documentacion oficiales de cada tipo de dato:
Aprender sobre el manejo de errores en Rust es fundamental para crecer en el lenguaje.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?