Menu
Coddy logo textTech

Modül Temelleri

Coddy'nin Rust Journey'sinin Object Oriented Programming bölümünün bir parçası — ders 8 / 61.

Rust programlarınız büyüdükçe, her şeyi tek bir dosyada tutmak hantallaşır. Rust'ın modül sistemi, struct'ları ve bunların implementasyonlarını ayrı dosyalara taşıyarak kodu düzenlemenize olanak tanır.

Ayrı bir dosyada bir modül oluşturmak için, istediğiniz modül adıyla yeni bir dosya oluşturmanız yeterlidir. Örneğin, bir player modülü oluşturmak için, player.rs adında bir dosya oluşturursunuz:

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

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

Bu modülü ana dosyanızda kullanmak için, onu mod anahtar kelimesiyle tanımlarsınız. Bu, Rust'a o isimde bir dosya aramasını söyler:

// main.rs
mod player;

fn main() {
    // Artık player modülündeki öğelere erişebiliriz
}

mod player; bildirimi, Rust'a player.rs dosyasının içeriğini bulmasını ve dahil etmesini söyler. Bunu, o dosyanın kodunu programınıza bağlamak gibi düşünün. Modül adı, dosya adıyla tam olarak eşleşmelidir (.rs uzantısı olmadan).

Bu ayrım, ilgili kodları bir arada tutar; struct tanımınız ve tüm metotları tek bir özel dosyada yer alırken, main.rs programın giriş noktasına odaklanmış durumda kalır. Bir sonraki derste, modüllere yerleştirdiğiniz öğelere gerçekte nasıl erişeceğinizi öğreneceksiniz.

Kopya kağıdı

Kodunuzu ayrı dosyalara düzenlemek için, istediğiniz isimde bir modül dosyası oluşturun. Örneğin, player.rs:

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

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

Modülü ana dosyanızda kullanmak için, onu mod anahtar kelimesiyle bildirin:

// main.rs
mod player;

fn main() {
    // Modül içerikleri artık kullanılabilir
}

mod player; bildirimi Rust'a player.rs dosyasını bulmasını ve dahil etmesini söyler. Modül adı, dosya adıyla tam olarak eşleşmelidir (.rs uzantısı olmadan).

Kendin dene

Bu ders bir kod alıştırması içermiyor.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Object Oriented Programming bölümündeki tüm dersler