Ratkaistu: luo kansio

Viimeisin päivitys: 09/13/2023
Kirjoittaja: Rust SourceTrail

Toki, näillä mennään!

Rust on moniparadigma järjestelmän ohjelmointikieli, joka keskittyy suorituskykyyn ja turvallisuuteen, erityisesti turvalliseen samanaikaisuuteen. Sen suunnittelu tekee siitä hyödyllisen moniin asioihin, mutta se sopii poikkeuksellisen hyvin järjestelmätehtäviin, jotka tyypillisesti kirjoitetaan C- tai C++-kielellä. Tänään keskustelen menetelmästä luoda kansion Rustissa.

Kansion luominen on suhteellisen yksinkertainen tehtävä Rustissa, joka voidaan suorittaa käyttämällä tavallisen kirjaston tiedostojärjestelmämoduulia, erityisesti `create_dir_all`-funktiota.

**Toiminto:** std::fs::create_dir_all

Tämä funktio luo rekursiivisesti hakemiston ja kaikki sen pääkomponentit, jos ne puuttuvat.

käytä std::fs;

fn main() -> std::io::Result<()> {
fs::create_dir_all("/jokin/polku"?);
Ok (())
}

Tarkastellaan koodia askel askeleelta.

Ensimmäinen rivi "use std::fs;" tuo tiedostojärjestelmämoduulin Rustin vakiokirjastosta. Tämä moduuli sisältää useita toimintoja tiedostojärjestelmien käsittelyyn, mukaan lukien hakemistojen luominen ja poistaminen, tiedostojen lukeminen ja kirjoittaminen sekä metatietojen lukeminen.

Main-funktio määritellään komennolla fn main() -> std::io::Result<()>. Tämä on tyypillinen Rust-ohjelman sisääntulokohta. Palautustyyppi tässä `std::io::Result<()>` on ruosteluettelo, joka edustaa joko onnistumista (`Ok`) tai epäonnistumista (`Err`).

Seuraava rivi fs::create_dir_all(“/some/path”)?; on paikka, jossa varsinainen hakemiston luominen tapahtuu. Funktio "create_dir_all" ottaa tiedostopolun ja yrittää luoda sen. Se luo myös puuttuvat päähakemistot. Operaattori `?` välittää kaikki virheet, jotka tapahtuivat hakemiston luonnin aikana, jolloin funktio palaa aikaisin virhearvon kanssa.

Lopuksi palautetaan Ok(()) osoittamaan virheiden puuttumista suorituksen aikana.

std::io-moduuli

"std::io"-moduuli sisältää useita yleisiä asioita, joita tarvitset syöttäessäsi ja tulostettaessa. Se on ehdottomasti jokaisen Rust-asioista vakavasti kiinnostuneen tiedossa. Tämä sisältää `std::io::Result'n, jota käytimme pääfunktiossa, joka on itse asiassa 'Resultin' tyyppialias.` jossa E on `std::io::Error`.

On tapana käyttää `std::io::Result` funktioissa, jotka voivat johtaa I/O-virheeseen. Se on tehokas tapa käsitellä virheitä Rustissa, jolloin kehittäjä voi siirtää virheet sinne, missä ne on sopivinta käsitellä, ja ylläpitää puhtaampaa ja luettavampaa koodia.

std::fs-moduuli

"std::fs" -moduuli tarjoaa API:n vuorovaikutukseen tiedostojärjestelmän kanssa alemmalla tasolla. Tämä moduuli edustaa tiedostojärjestelmän tiedostoja ja hakemistoja, joiden avulla voit navigoida tiedostopuussa, lukea ja kirjoittaa tiedostoja sekä tarkastella niiden metatietoja.

Funktio "fs::create_dir_all", jota käytettiin luomaan hakemisto, on osa tätä moduulia. Se on fantastinen toiminto, joka ei vain luo määrittämääsi hakemistoa, vaan se tekee myös ylimääräisen askeleen luodakseen emohakemistoja, joita ei vielä ole olemassa. Se on tehokas, luotettava ja täydellinen työkalu tiedostorakenteiden määrittämiseen.

Muista, Rustin vakiokirjasto on täynnä hyödyllisiä moduuleja ja toimintoja, joihin kannattaa tutustua, jotta Rust-ohjelmointikokemuksesta tulee mahdollisimman tehokas.

Related viestiä: