Q16. ¿Qué ejemplo utiliza correctamente la API de entrada de std::collections::HashMap para poblar conteos?
use std::collections::HashMap;
fn main() {
let mut counts = HashMap::new();
let text = "LinkedIn Learning";
for c in text.chars() {
// Completa este bloque
}
println!("{:?}", counts);
}
for c in text.chars() {
if let Some(count) = &mut counts.get(&c) {
counts.insert(c, *count + 1);
} else {
counts.insert(c, 1);
};
}
for c in text.chars() {
let count = counts.entry(c).or_insert(0);
*count += 1;
}
for c in text.chars() {
let count = counts.entry(c);
*count += 1;
}
for c in text.chars() {
counts.entry(c).or_insert(0).map(|x| x + 1);
}
referencia
Q17. ¿Qué fragmento no incurre en asignaciones de memoria al escribir en un "archivo" (representado por un Vec<u8>)?
rust
use std::collections::HashMap;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut v = Vec::<u8>::new();
let a = "LinkedIn";
let b = 123;
let c = '🧀';
// reemplaza esta línea
println!("{:?}", v);
Ok(())
}
write!(&mut v, "{}{}{}", a, b, c)?;
v.write(a)?;
v.write(b)?;
v.write(c)?;
v.write(a, b, c)?;
v.write_all(a.as_bytes())?;
v.write_all(&b.to_string().as_bytes())?;
c.encode_utf8(&mut v);
- Respondido en el foro de usuarios de Rust
- referencia