Rust-ohjelmoinnin perusteet · Oppitunti

Työtilat

Usean craten projektit.

Oppitunti 3/413 vaihetta

Työtilat on ilmainen Rust-ohjelmoinnin perusteet-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Rust-ohjelmoinnin perusteet-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Rust-ohjelmoinnin perusteet-kurssilla on yhteensä 4 oppituntia.

Mikä workspace on?

Workspace on toisiinsa liittyvien cratejen joukko, joka jakaa yhden Cargo.lock-tiedoston ja yhteisen target-hakemiston. Se on tavanomainen tapa hallita usean craten projekteja.

Juurimanifesti

Workspacen juuressa on Cargo.toml, jonka [workspace]-taulukossa luetellaan jäsencratet. Juuri itsessään ei yleensä sisällä pakettia.

[workspace]
members = ["app", "core", "utils"]
resolver = "2"

Workspacen rakenne

Tyypillisessä rakenteessa jokainen crate on omassa alihakemistossaan:

  • Cargo.toml — työtilan juurihakemisto
  • app/ — binäär crate
  • core/ — kirjasto-crate
  • utils/ — toinen kirjasto-crate

Jäsenten luominen

Luotte jäsenet kuten minkä tahansa craten ja lisäätte ne sitten juurimanifestin members-luetteloon.

cargo new app
cargo new core --lib
cargo new utils --lib

Riippuvuus jäsenestä

Yksi jäsen-crate voi riippua toisesta käyttämällä oman Cargo.toml-tiedostonsa path-riippuvuutta.

[dependencies]
core = { path = "../core" }
utils = { path = "../utils" }

Cratejen välinen kutsu

Yhden craten julkisia kohteita käytetään toisesta viittaamalla craten nimeen. Tässä core tarjoaa funktion, jota binääri kutsuu.

// in core/src/lib.rs
pub fn greeting(name: &str) -> String {
    format!("Hello, {name}!")
}

// in app/src/main.rs
fn main() {
    let msg = core::greeting("workspace");
    println!("{msg}");
}

Koko työtilan kääntäminen

Kun Cargo suoritetaan juurihakemistossa, se kääntää jokaisen jäsenen. Jaettu target-hakemisto tarkoittaa, että yhteiset riippuvuudet käännetään vain kerran.

cargo build
cargo test

Yhden jäsenen kohdentaminen

Käyttäkää valitsinta -p (tai --package) suorittaaksenne komennon yhdelle jäsen-cratelle.

cargo run -p app
cargo test -p core

Työtilan riippuvuudet

Määritelkää jaetut versiot kerran taulukossa [workspace.dependencies] ja viitatkaa niihin sitten jäsenistä, jotta versiot pysyvät synkronoituina.

# root Cargo.toml
[workspace.dependencies]
serde = "1.0"

# member Cargo.toml
[dependencies]
serde = { workspace = true }

Miksi työtiloja käytetään?

Työtilan hyödyt:

  • Yksi jaettu lockfile takaa yhdenmukaiset versiot
  • Nopeammat käännökset yhden jaetun target-hakemiston ansiosta
  • Suuri projekti on helppo jakaa tarkoituksenmukaisiin crateihin
  • Yksi komento kääntää ja testaa kaiken

Hakemiston poissulkeminen

Avain exclude pitää tietyt hakemistot työtilan ulkopuolella, kun taas default-members määrittää, mitkä cratet suoritetaan, kun -p-valitsinta ei anneta.

[workspace]
members = ["app", "core"]
exclude = ["experiments"]
default-members = ["app"]

Pikatarkistus

Mitä kaikki työtilan cratet jakavat?

Kertaus

Opitte työtiloista seuraavaa:

  • Taulukossa [workspace] luetellaan jäsenet
  • Jäsenet riippuvat toisistaan path-riippuvuuksien avulla
  • Jaettu lockfile ja target-hakemisto nopeuttavat käännöksiä
  • Valitsimella -p kohdennetaan yksi jäsen
  • [workspace.dependencies] keskittää versioiden hallinnan
Aloita maksutta

Opi Rust tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
39
Oppitunnit
144

Usein kysytyt kysymykset

Onko oppitunti ”Työtilat” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Rust-ohjelmoinnin perusteet-oppimispolun 3 oppituntia, myös oppitunnin “Työtilat”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Rust-ohjelmoinnin perusteet-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Työtilat”?

Usean craten projektit. Harjoittelet Rust-ohjelmoinnin perusteet-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Rust-ohjelmoinnin perusteet-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Rust-ohjelmoinnin perusteet-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”Työtilat”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Rust-ohjelmoinnin perusteet-oppitunnilla?

Kyllä. Jokainen Rust-ohjelmoinnin perusteet-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Cargon perusteet
  2. Cargo.toml
  3. Työtilat
  4. Ominaisuudet ja profiilit
← Takaisin: Rust-ohjelmoinnin perusteet