Option y Resultmatch y if let para procesar erroresexpect, unwrap, unwrap_or y unwrap_or_elseString, &str y Vecinto_iter, iter e iter_mut, y los enunciado for equivalentes
Copy y Clonechecked_*, overflowing_*, saturating_* y wrapping_*approx::relative_eq!NaN, +Inf, -Inf, 0.0 y -0.0) y las operaciones que los producenas y método try_into para realizar conversiones entre tipos numéricosround, floor y ceil
NOTA: Una vez iniciado el examen, no se permite compartir ningún artículo con alguien más.
Pluma, lápiz, borrador, sacapuntas.
Calculador científica sencilla. No está permitido usar teléfono celular, calculadora programable, tableta, computadora o cualquier otro dispositivo electrónico.
Acordeón personal de estudio con las siguientes características:
|
Según Microsoft, ¿qué porcentaje de sus vulnerabilidades de software está relacionado con problemas de seguridad de memoria?
Se trata de un problema de memoria en el que se escriben datos fuera de los límites de un arreglo.
¿Cuál de las siguientes áreas es un caso de uso primario y destacado para Rust, dada su combinación única de seguridad de memoria, concurrencia y alto rendimiento?
En Rust, por defecto, las variables son:
String, pero no i32let mutCopymut
En Rust, cuando se pasa un objeto (que no implementa Copy) a una función por valor, ¿qué ocurre por defecto con el concepto de propiedad (ownership)?
¿Cuál es el resultado de compilar y correr (si es posible) el siguiente código de Rust?
fn main() { let data: Vec<i32> = vec![1, 2, 3]; let mut sum: i32 = 0; for elem in &data { sum += *elem; } println!("{:?}:{}", data, sum); }
[1, 2, 3]:0[1, 2, 3]:6[1, 3, 6]:6¿Qué estructura de datos de Rust permite agrupar valores de diferentes tipos en una única unidad, con acceso a sus elementos por desestructuración o por índice numérico?
¿Cuál es el resultado de compilar y correr (si es posible) el siguiente código de Rust?
fn main() { let mut nombres: Vec<String> = vec![ "b".to_string(), "c".to_string(), "a".to_string(), "e".to_string(), "d".to_string()]; let mut todos: String = "".to_string(); nombres.sort(); for nombre in nombres { todos.push_str(&nombre); } println!("{:?}:{}", nombres, todos); }
["a", "b", "c", "d", "e"]:abcde["b", "c", "a", "e", "d"]:abcde["b", "c", "a", "e", "d"]:bcaed
Para iterar sobre un Vec<T> y obtener referencias mutables a sus elementos, permitiendo modificarlos, ¿qué método de iteración se debe usar?
clone()iter()iter_mut()into_iter()for_each()¿Cuál es el resultado de compilar y correr (si es posible) el siguiente código de Rust?
fn main() { let x: u8 = 25; println!("{:?} {:?} {:?} {:?}", x.saturating_mul(x), x.wrapping_mul(x), x.checked_mul(x), x.overflowing_mul(x) ); }
255 113 None (113, true)255 113 (113, false) None625 Some(113) 113 (625, false)El Gangnam Style YouTube Counter Overflow fue un ejemplo de desbordamiento aritmético. ¿Cómo se pudo haber evitado este fallo de software en el contador de vistas?
panic! cuando el contador se desbordawrapping_*) para que el contador volviera a cero¿Cuál fue la causa principal del fallo de software que llevó a la explosión del cohete Ariane 5 Flight 501?
panic! intencional en el código de navegaciónResult incorrectamente