Funciones en Rust
Definir, componer y pasar funciones.
fn square(x: i32) -> i32 {
x * x
}
fn sum_of_squares(a: i32, b: i32) -> i32 {
square(a) + square(b)
}
fn main() {
let result = sum_of_squares(3, 4);
let apply = |f: fn(i32) -> i32, v| f(v);
let squared = apply(square, 5);
println!("{result} {squared}");
}
Cómo funciona
- La última expresión se devuelve sin
return. sum_of_squaresllama asquaredos veces.- Un puntero
fnpuede pasarse a un closure.
Palabras clave y builtins usados aquí
fni32let
El intento, en números
- Líneas
- 14
- Caracteres a escribir
- 257
- Tokens
- 91
- Ritmo de tres estrellas
- 90 tpm
Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 61 segundos.
Paso 1 de 4 en Funciones; paso 23 de 39 en Fundamentos del lenguaje.