sinonimo significado rae ingles desenvuelve desenvolverse desenvolver definicion rust

rust - rae - desenvolverse significado



¿Qué es esto desenvolver algo: a veces es desenvolver a veces es unwrap_or (2)

Nota Los detalles en esta respuesta con respecto a read_line y ~str corresponden a una versión anterior a la versión 1.0 de Rust. Los conceptos generales sobre unwrap_or y unwrap_or siguen siendo relevantes.

Como read_line podría fallar, devuelve Option<~str> . Para obtener el valor, puede usar la coincidencia de patrones o uno de los métodos de desenvolver.

La diferencia entre unwrap_or y unwrap_or es que unwrap_or fallará si no hay ningún valor ( None ) pero unwrap_or devolverá el valor predeterminado especificado ("nothing" en este caso)

Nota Los detalles en esta pregunta con respecto a read_line y ~str pertenecen a una versión anterior a la versión 1.0 de Rust. Los conceptos generales sobre unwrap_or y unwrap_or siguen siendo relevantes.

Lo he encontrado al leer Rust for Rubyists, es decir:

let mut reader = BufferedReader::new(io::stdin()); let input = reader.read_line().unwrap_or(~"nothing");


Nota Los detalles en esta respuesta con respecto a read_line y ~str corresponden a una versión anterior a la versión 1.0 de Rust. Los conceptos generales sobre unwrap_or y unwrap_or siguen siendo relevantes.

Rust tiene documentación API que explica estas cosas.

BufferedReader.read_line :

fn read_line(&mut self) -> Option<~str>

Lee la siguiente línea de entrada, interpretada como una secuencia de puntos de código Unicode codificados en UTF-8. Si se encuentra una nueva línea, entonces la nueva línea está contenida en la cadena devuelta.

...

[Luego, algo sobre elevar la condición io_error , que es una situación en la que devolvería None -si se trata la condición. Si no es así, fallará y nunca recuperarás nada.]

También devolverá None si todo se ha leído en el lector.

Option.unwrap :

fn unwrap(self) -> T

Mueve un valor de un tipo de opción y lo devuelve.

Útil principalmente para obtener cadenas, vectores y punteros únicos fuera de los tipos de opciones sin copiarlos.

...

Es decir,

  • Some(a).unwrap() devuelve a
  • None.unwrap() falla

Option.unwrap_or :

fn unwrap_or(self, def: T) -> T

Devuelve el valor contenido o un valor predeterminado

Es decir,

  • Some(a).unwrap_or(b) devuelve a
  • None.unwrap_or(b) devuelve b