Naravno, idemo!
Rust je višeparadigmski sistemski programski jezik fokusiran na performanse i sigurnost, posebno na sigurnu konkurentnost. Njegov dizajn ga čini korisnim za mnoge stvari, ali je izuzetno prikladan za sistemske zadatke koji su obično napisani na C ili C++. Danas ću raspravljati o metodi za kreiranje foldera u Rustu.
Kreiranje foldera je relativno jednostavan zadatak u Rustu koji se može postići korištenjem modula sistema datoteka standardne biblioteke, posebno funkcije `create_dir_all`.
**Funkcija:** std::fs::create_dir_all
Ova funkcija rekurzivno kreira direktorij i sve njegove roditeljske komponente ako nedostaju.
koristite std::fs;
fn main() -> std::io::Rezult<()> {
fs::create_dir_all(“/some/path”)?;
Uredu(())
}
Secirajmo kod korak po korak.
Prvi red `use std::fs;` uvozi modul fajl sistema iz Rustove standardne biblioteke. Ovaj modul sadrži nekoliko funkcija za rad sa sistemima datoteka, uključujući kreiranje i brisanje direktorija, čitanje i pisanje datoteka i čitanje metapodataka.
Funkcija `main` je definirana sa `fn main() -> std::io::Result<()>`. Ovo je tipična ulazna tačka za Rust program. Tip povratka ovdje, `std::io::Result<()>`, je Rust enum koji predstavlja ili uspjeh (`Ok`) ili neuspjeh (`Err`).
Sljedeći red fs::create_dir_all(“/some/path”)?; je mjesto gdje se događa stvarno kreiranje direktorija. Funkcija `create_dir_all` uzima putanju datoteke i pokušava je kreirati. Također će kreirati roditeljske direktorije koji nedostaju. Operator `?` propagira sve greške koje su se dogodile tijekom kreiranja direktorija, uzrokujući da se funkcija ranije vrati s vrijednošću greške.
Konačno, Ok(()) se vraća da označi nedostatak grešaka tokom izvršavanja.
Modul std::io
Modul `std::io` sadrži brojne uobičajene stvari koje će vam trebati kada radite unos i izlaz. To svakako mora znati za svakoga ko se ozbiljno bavi Rustom. Ovo uključuje `std::io::Result` koji smo koristili u glavnoj funkciji, što je zapravo pseudonim tipa za `Rezultat
Uobičajeno je koristiti `std::io::Result` u funkcijama koje mogu dovesti do I/O greške. To je efikasan način za rukovanje greškama u Rust-u, omogućavajući programeru da prebacuje greške tamo gde je najprikladnije da se s njima bavi, održavajući čistiji, čitljiviji kod.
Modul std::fs
Modul `std::fs` pruža API za interakciju sa datotečnim sistemom na nižem nivou. Ovaj modul predstavlja datoteke i direktorije u sistemu datoteka koji vam omogućavaju navigaciju po stablu datoteka, čitanje i pisanje datoteka i pregled njihovih metapodataka.
Funkcija `fs::create_dir_all` koja je korištena za kreiranje direktorija dio je ovog modula. To je fantastična funkcija koja ne samo da kreira direktorij koji navedete, već također ide ekstra milju da kreira roditeljske direktorije koji već nisu tamo. Efikasan je, pouzdan i savršen alat za postavljanje struktura datoteka.
Zapamtite, Rust-ova standardna biblioteka je puna korisnih modula i funkcija koje vrijedi istražiti kako bi vaše iskustvo programiranja u Rustu bilo što efikasnije.
