Structs de tupla y unitarios en Rust
Structs sin nombres de campo: newtypes para el significado, structs unitarios como marcadores.
struct Meters(f64);
struct Rgb(u8, u8, u8);
struct Marker;
impl Meters {
fn feet(&self) -> f64 {
self.0 * 3.28084
}
}
fn main() {
let height = Meters(1.82);
println!("{:.2} ft", height.feet());
let accent = Rgb(124, 92, 255);
println!("#{:02x}{:02x}{:02x}", accent.0, accent.1, accent.2);
let _marker = Marker;
}
Cómo funciona
- Los campos de un struct de tupla se alcanzan por posición:
.0. - Un newtype envuelve un valor para darle un tipo distinto.
- Un struct unitario no lleva datos, solo su identidad.
Palabras clave y builtins usados aquí
f64fnimplletselfstructu8
El intento, en números
- Líneas
- 19
- Caracteres a escribir
- 316
- Tokens
- 101
- Ritmo de tres estrellas
- 85 tpm
Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 71 segundos.
Paso 3 de 4 en Valores compuestos; paso 9 de 39 en Fundamentos del lenguaje.