Comentarios de documentación en Rust
/// documenta el ítem que sigue, y el ejemplo que contiene es una prueba que corre.
//! Scoring helpers for a tour step.
/// Stars earned for a run, from zero to three.
///
/// # Examples
///
/// ```
/// assert_eq!(stars_for(95.0, 90.0), 3);
/// ```
///
/// # Panics
///
/// Panics if `target` is zero.
pub fn stars_for(tpm: f64, target: f64) -> u8 {
assert!(target > 0.0, "target must be positive");
let ratio = tpm / target;
match ratio {
r if r >= 1.0 => 3,
r if r >= 0.8 => 2,
_ => 1,
}
}
fn main() {
println!("{}", stars_for(95.0, 90.0));
println!("{}", stars_for(60.0, 90.0));
}
Cómo funciona
///documenta el ítem siguiente,//!el que lo contiene.- Un ejemplo en un bloque de código se vuelve un doc test.
# Panicsy# Examplesson los encabezados convencionales.
Palabras clave y builtins usados aquí
f64fnifletmatchpubu8
El intento, en números
- Líneas
- 27
- Caracteres a escribir
- 502
- Tokens
- 109
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 62 segundos.
Paso 3 de 3 en Pruebas y documentación; paso 6 de 12 en Módulos, pruebas y macros.