Default en Rust
Un valor vacío canónico, más la sintaxis de actualización de struct para cambiar un campo.
#[derive(Debug)]
struct Settings {
theme: String,
editor_mode: bool,
time_limit: u32,
}
impl Default for Settings {
fn default() -> Self {
Settings {
theme: "default".to_string(),
editor_mode: false,
time_limit: 60,
}
}
}
fn main() {
println!("{:?}", Settings::default());
let mine = Settings {
theme: "monokai".to_string(),
..Default::default()
};
println!("{:?}", mine);
}
Cómo funciona
#[derive(Default)]usa el valor por defecto de cada campo.- Un impl a mano fija los valores que de verdad quieres.
..Default::default()completa el resto de un literal.
Palabras clave y builtins usados aquí
DefaultStringboolfnforimplletstructu32
El intento, en números
- Líneas
- 26
- Caracteres a escribir
- 377
- Tokens
- 105
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 60 segundos.
Paso 3 de 4 en Traits estándar; paso 10 de 19 en Traits y genéricos.