Menu
Coddy logo textTech

Conceptos básicos de módulos

Parte de la sección Object Oriented Programming del Journey de Rust de Coddy — lección 8 de 61.

A medida que tus programas de Rust crecen, mantener todo en un solo archivo se vuelve difícil de manejar. El sistema de módulos de Rust te permite organizar el código moviendo los structs y sus implementaciones a archivos separados.

Para crear un módulo en un archivo separado, simplemente crea un nuevo archivo con el nombre de módulo deseado. Por ejemplo, para crear un módulo player, crearías un archivo llamado player.rs:

// player.rs
struct Player {
    name: String,
    score: u32,
}

impl Player {
    fn new(name: String) -> Player {
        Player { name, score: 0 }
    }
}

Para usar este módulo en tu archivo principal, lo declaras con la palabra clave mod. Esto le indica a Rust que busque un archivo con ese nombre:

// main.rs
mod player;

fn main() {
    // Ahora podemos acceder a los elementos del módulo player
}

La declaración mod player; le indica a Rust que busque e incluya el contenido de player.rs. Piénsalo como si estuvieras vinculando el código de ese archivo en tu programa. El nombre del módulo debe coincidir exactamente con el nombre del archivo (sin la extensión .rs).

Esta separación mantiene el código relacionado unido: la definición de tu struct y todos sus métodos residen en un archivo dedicado, mientras que main.rs se mantiene enfocado en el punto de entrada del programa. En la siguiente lección, aprenderás cómo acceder realmente a los elementos que has colocado en los módulos.

Hoja de referencia

Para organizar el código en archivos separados, crea un archivo de módulo con el nombre deseado. Por ejemplo, player.rs:

// player.rs
struct Player {
    name: String,
    score: u32,
}

impl Player {
    fn new(name: String) -> Player {
        Player { name, score: 0 }
    }
}

Para usar el módulo en tu archivo principal, decláralo con la palabra clave mod:

// main.rs
mod player;

fn main() {
    // Module contents are now available
}

La declaración mod player; le indica a Rust que busque e incluya player.rs. El nombre del módulo debe coincidir exactamente con el nombre del archivo (sin la extensión .rs).

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

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 Object Oriented Programming