hrál jsem s Rust na projektu pet a když jsem chtěl jmenný prostor můj kód jsem uvízl na chvíli se snaží přijít na to, jak to udělat. Pocházející z Java a Ruby pozadí jsem očekával něco jako balíčky v Javě nebo moduly v Ruby, ale to nebyl případ Rust. Dokumentace mi také nepomohla. Trvalo mi nějaký čas, než jsem zjistil, jak to funguje. Takže tady je moje chápání rust modulů s jednoduchými příklady (Github)
Rust vyžaduje, aby uživatelé vytvořili explicitní graf modulu
klíč je každý modul musí být deklarován v kořenovém souboru(main.rs v tomto příkladu). Pokud máte dílčí moduly, které je třeba deklarovat mod.rs soubor nadřazeného modulu.
co je to mod.rs ?
můžete vytvořit modul dvěma způsoby buď jeden soubor nebo soubor ve složce. Pokud se chystáte s pozdějším přístupem, Rust očekává, že složka bude mít mod.rs soubor (hierarchie souborů), který uvidíte později v příkladu.
protože jsem hledal příklady těchto 3 případů použití, myslel jsem, že bych mohl přidat pro stejné
- Single module
- Sub modules
- vnořené moduly
Single Module
pokud chcete mít modul V jednom souboru, je to docela jednoduché.
single_module.rs
main.rs
Všimněte si, že single_module byl deklarován v main.rs na rozdíl od jiných jazyků, kam je dovážíme.
výstup:
Im in single module