Jasnฤ, jdeme na to!
Rust je multiparadigmatickรฝ systรฉmovรฝ programovacรญ jazyk zamฤลenรฝ na vรฝkon a bezpeฤnost, zejmรฉna bezpeฤnou soubฤลพnost. Dรญky svรฉmu designu je uลพiteฤnรฝ pro mnoho vฤcรญ, ale je mimoลรกdnฤ vhodnรฝ pro systรฉmovรฉ รบlohy obvykle napsanรฉ v C nebo C++. Dnes budu diskutovat o metodฤ vytvoลenรญ sloลพky v Rustu.
Vytvoลenรญ sloลพky je v Rustu pomฤrnฤ jednoduchรฝ รบkol, kterรฉho lze dosรกhnout pomocรญ modulu souborovรฉho systรฉmu standardnรญ knihovny, konkrรฉtnฤ funkce `create_dir_all`.
**Funkce:** std::fs::create_dir_all
Tato funkce rekurzivnฤ vytvoลรญ adresรกล a vลกechny jeho nadลazenรฉ komponenty, pokud chybรญ.
pouลพijte std::fs;
fn main() -> std::io::Result<()> {
fs::create_dir_all(โ/nฤkterรก/cestaโ)?;
OK(())
}
Pojฤme si kรณd rozebrat krok za krokem.
Prvnรญ ลรกdek `use std::fs;` importuje modul souborovรฉho systรฉmu ze standardnรญ knihovny Rust. Tento modul obsahuje nฤkolik funkcรญ pro prรกci se souborovรฝmi systรฉmy, vฤetnฤ vytvรกลenรญ a mazรกnรญ adresรกลลฏ, ฤtenรญ a zรกpisu souborลฏ a ฤtenรญ metadat.
Funkce `main` je definovรกna pomocรญ `fn main() -> std::io::Result<()>`. Toto je typickรฝ vstupnรญ bod pro program Rust. Nรกvratovรฝ typ zde, `std::io::Result<()>`, je vรฝฤet Rust, kterรฝ pลedstavuje buฤ รบspฤch (`Ok`) nebo selhรกnรญ (`Err`).
Dalลกรญ ลรกdek fs::create_dir_all(โ/nฤkterรก/cestaโ)?; je mรญsto, kde dojde ke skuteฤnรฉmu vytvoลenรญ adresรกลe. Funkce `create_dir_all` vezme cestu k souboru a pokusรญ se ji vytvoลit. Vytvoลรญ takรฉ vลกechny chybฤjรญcรญ nadลazenรฉ adresรกลe. Operรกtor `?` ลกรญลรญ vลกechny chyby, ke kterรฝm doลกlo bฤhem vytvรกลenรญ adresรกลe, coลพ zpลฏsobรญ, ลพe se funkce vrรกtรญ dลรญve s chybovou hodnotou.
Nakonec se vrรกtรญ Ok(()), coลพ znamenรก nedostatek chyb bฤhem provรกdฤnรญ.
Vรญce