Menu
CoddyTech

Declaración de funciones

Parte de la sección Fundamentos del Journey de Rust de Coddy. Lección 49 de 75.

Una función es una secuencia de código que tiene un nombre. El propósito de una función es reutilizar un fragmento de código varias veces.

Por ejemplo, echa un vistazo a este código:

println!("Welcome to Coddy");
println!("New session...");
println!("Welcome to Coddy");
println!("Another session...");
println!("Welcome to Coddy");

Usamos el mismo código println!("Welcome to Coddy") una y otra vez. Otro problema con este código es que, si quisiéramos cambiar el mensaje: Welcome to Coddy por algo diferente, como "Welcome aboard", habría que cambiar 3 líneas de código diferentes. Para resolver este problema, usaremos funciones.

Para declarar una función, usamos la siguiente sintaxis:

fn function_name(parameters) {
	// código
}

Para nuestro ejemplo, crearemos una función llamada greet y tendrá este aspecto:

fn greet() {
    println!("Welcome to Coddy");
}

Para usar/llamar/ejecutar la función, escribimos greet();:

greet();
println!("New session...");
greet();
println!("Another session...");
greet();

Esto dará como resultado la misma salida que arriba.

Nota: En Rust, el compilador te permite llamar a una función antes de que se declare en el archivo. Sin embargo, se recomienda, por convención, escribir la definición de la función antes de llamarla/ejecutarla.

challenge icon

Desafío

Fácil

Escribe un programa que obtenga una entrada, un número. El número de entrada indica cuántas veces ejecutar la función de abajo. 

Crea una función que calcule la suma de todos los números entre 1 y 1000 (incluidos) y la imprima; ponle el nombre que quieras a la función.

¡Nota! Como convención recomendada, escribe la función antes de las instrucciones que la llaman o ejecutan en tu código.

Pruébalo tú mismo

use std::io;

// Declaración de la función
fn sum_numbers() {
    // Completa la función
    
}


fn main() {
    let mut input = String::new();
    io::stdin().read_line(&mut input).unwrap();
    let n: i32 = input.trim().parse().unwrap();
    for _ in 0..n {
        // Llama a la función n veces
    }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de Rust online