typestar

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

  1. La última expresión se devuelve sin return.
  2. sum_of_squares llama a square dos veces.
  3. Un puntero fn puede pasarse a un closure.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 1 de 4 en Funciones; paso 23 de 39 en Fundamentos del lenguaje.

← Anterior Siguiente →