Traits en Rust
Comportamiento compartido que un tipo puede implementar.
trait Summary {
fn summarize(&self) -> String;
}
struct Article {
title: String,
}
impl Summary for Article {
fn summarize(&self) -> String {
format!("Read more: {}", self.title)
}
}
fn main() {
let a = Article { title: String::from("Typing") };
println!("{}", a.summarize());
}
Cómo funciona
- Un
traitdeclara firmas de métodos. impl Summary for Articlelas provee.- El método queda entonces disponible en el tipo.
Palabras clave y builtins usados aquí
Stringfnforimplletselfstructtrait
El intento, en números
- Líneas
- 18
- Caracteres a escribir
- 281
- Tokens
- 83
- Ritmo de tres estrellas
- 100 tpm
Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 50 segundos.
Paso 1 de 3 en Traits; paso 1 de 19 en Traits y genéricos.