Özet - Modüller
- Rust kursu
- Orta seviye
- Ders 76/115
- 5 dk
mod, use ve pub'ı birleştirerek çok dosyalı bir crate kurarsın.
Modüller özeti
mod bir modül ağacı kurar; öğeler varsayılan olarak gizlidir ve pub ile açılır (struct alanları tek tek). use yolları kısaltır, as yeniden adlandırır, pub use yeniden dışa aktarır. Yollar crate::, super::, self:: ile başlayabilir. Modüller ayrı dosyalara (ag.rs, ag/istemci.rs) konabilir. İnce görünürlük: pub(crate), pub(super).
Gizli iç modül
Kütüphane yazarları ayrıntıları gizli iç modüllere koyar ve dışarıya küçük bir yüzey açar:
mod kutuphane {
mod ic {
pub fn gizli_hesap(x: i32) -> i32 {
x * 3
}
}
pub fn hesapla(x: i32) -> i32 {
ic::gizli_hesap(x) + 1
}
}
// kutuphane::ic::gizli_hesap(4); // hata: ic gizli
println!("{}", kutuphane::hesapla(4)); // 13Uygulama Küçük yüzey
Yukarıdaki kutuphane modülünü yaz: gizli ic modülünde gizli_hesap, dışarıda pub fn hesapla. kutuphane::hesapla(4) sonucunu yazdır.
Başlangıç kodu
fn main() {
// buraya yaz
}Örnek çözüm
mod kutuphane {
mod ic {
pub fn gizli_hesap(x: i32) -> i32 {
x * 3
}
}
pub fn hesapla(x: i32) -> i32 {
ic::gizli_hesap(x) + 1
}
}
fn main() {
println!("{}", kutuphane::hesapla(4));
}Beklenen çıktı
13
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 İç bir modülü tamamen gizleyip yalnızca bir fonksiyonu dışarı açmak için ne yapılır?
- Mümkün değil
- Modülü pub yapmadan, üstte pub fn ile sarmalamak ya da pub use etmek Doğru cevap
- Modülü pub yapmak
- unsafe kullanmak
Açıklama: Gizli bir modülün pub öğeleri, yalnızca o modülü görebilen kod tarafından kullanılabilir; dışarı açmak için üst modülden bir kapı gerekir.
2 Crate içi görünürlük
____(crate) fn yardimci() {}
pub(crate) fn yardimci() {}
Açıklama: pub(crate) öğeyi yalnızca aynı crate içinde açar.
3 Grubun özeti
| Kavram | Anlamı |
|---|---|
mod x { } |
Modül |
pub |
Dışarı açar |
use a::b |
Kısaltma |
pub use |
Yeniden dışa aktarma |