Shanraq.org Shanraq.org
Cargo арқылы алғашқы жоба
IT

Rust: алғашқы қадамнан жеке жоспарлау құралына дейін 6-сабақ (барлығы 10)

Cargo арқылы алғашқы жоба

Тексеру, құрастыру және іске қосуды ажырату.

Мәтін ИИ көмегімен аударылды.

Алғышарт: 1–5 сабақ. Басқаша айтылмаса, organizer ішінде жұмыс істеңіз.

Бұл не үшін керек?

5-сабақта орнатуды бөлек сынақ жобасымен тексердік. Енді жоспарлау құралын жасай бастаймыз. Cargo шеберхана жұмысын ұйымдастырушыға ұқсайды: бастапқы мәтіннің қайда екенін және құралдарды қалай шақыруды біледі. Жоба — бір жұмыстың файлдары. Cargo дестесі Cargo.toml арқылы сипатталады және құрастырылатын бір не бірнеше бөліктен тұрады. Әзірге бізде бір орындалатын бағдарлама бар.

Алдымен тұтас көрініс

4-сабақтағыдай rust-learning бумасына кіріңіз; rust-install-check ішінде қалмаңыз. cargo new жаңа жоба бумасын жасайды; organizer — оның атауы. –edition тіл ережесінің редакциясын таңдайды. –vcs none әлі түсіндірілмеген Git тарихын жасауды өшіреді. Орындаңыз:

cargo new organizer --edition 2024 --vcs none
cd organizer
cargo check
cargo build
cargo run

check кодты тексереді, бірақ орындалатын файл жасамайды. build файлды құрастырады, бірақ іске қоспайды. run қажет болса қайта құрастырып, іске қосады. Жаңа бағдарлама Hello, world! («Сәлем, әлем!») шығарады. Compiling және Finished — Cargo хабарлары, біздің бағдарламаның нәтижесі емес.

Бағдарлама қайда орналасқан?

Өңдегіштің бума ашу әрекеті арқылы organizer ашыңыз. Оның ішінде тағы бір organizer жасамаңыз. Жасалған src/main.rs ішінде мына код бар:

fn main() {
    println!("Hello, world!");
}

Нәтиже:

Hello, world!

Бұл — Cargo ұсынған дайын мысал. 7-сабақта әр таңбаны талдаймыз; бағдарламаның басталу құрылымын әзірге өз бетіңізбен жазу талап етілмейді.

Cargo.toml — дестенің сипаттамасы. TOML бөлімдер мен өрістерден тұратын мәтіндік баптау пішімі. name десте атауын, version біздің бағдарлама нұсқасын, edition тіл ережесінің редакциясын көрсетеді. dependencies жоба пайдаланатын кітапханаларды тізеді. Олар — қайта қолданылатын бөлшектер; әзірге сыртқы кітапханаларды қоспаймыз. Cargo.lock таңдалған тәуелділік нұсқаларын тіркейді, оны Cargo жүргізеді. Оны екінші баптау файлы сияқты қолмен өңдемейміз.

Rust 1.97.0 мен Edition 2024 екі түрлі ұғым: құралдың шығарылымы және тіл ережесінің редакциясы. target ішінде құрастыру нәтижелері тұрады; оларды өзгертпейміз. Debug — әзірлеуге арналған құрастыру. Бағдарламаны таратар алдында оңтайландырылған release құрастыруын үйренеміз.

cargo build аяқталған соң дайын файлды тікелей іске қосуға болады. Windows PowerShell:

.\target\debug\organizer.exe

macOS/Linux:

./target/debug/organizer

Бастапқы ./ не .\ ағымдағы бумадан басталатын жолды білдіреді. Дайын файлды тікелей іске қосу өзгерген мәтінді қайта құрастырмайды. Өзгерістен кейін build және тікелей іске қосу, немесе бірден run керек. Пәрмендерді Cargo.toml орналасқан organizer ішінен орындаңыз.

Қиындық туындаса

could not find Cargo.toml көбіне басқа бумада тұрғаныңызды білдіреді. destination already exists — бума бұрыннан бар: жұмысыңызды өшірмей, ішін қараңыз. Байланыстырушы туралы қате болса, 5-сабақтағы жүйелік құралдарға оралыңыз.

Тірек сызба

new — жасау; check — тексеру; build — құрастыру; run — қажет болса құрастыру және іске қосу. Бастапқы мәтін src ішінде, баптау Cargo.toml ішінде, нәтиже target ішінде.

Жаттығу

  1. Болжаңыз: мәтінді сақтау бұрынғы орындалатын файлды жаңарта ма?
  2. Толықтырыңыз: ___ орындалатын файл жасамай тексереді.
  3. Жоғарғы бумадан орындалған Cargo пәрменін organizer ішіне кіріп түзетіңіз.

Тапсырма

Міндетті. Қос тырнақша арасындағы Hello, world! мәтінін ғана «Жоспарлау құралы жұмысқа дайын» деп өзгертіңіз. main.rs сақтап, cargo run орындаңыз. Содан кейін құрастырып, өз жүйеңіздегі дайын файлды тікелей іске қосыңыз. Екі жағдайда да осы жол шығуы керек.

Өз деректеріңізбен. Тырнақшаларды сақтап, сәлемдесу мәтінін өзгертіңіз.

Көмек және үлгі жауап

Ескі мәтін шықса, сақтауды және ағымдағы буманы тексеріңіз. Төмендегі үлгі — толық main.rs, қабықшаға көшіретін пәрмен емес. Оны өз әрекетіңізден кейін оқыңыз.

Жаттығу жауабы: сақтау қайта құрастырмайды; қажетті пәрмен — check; Cargo үшін Cargo.toml бар бума керек. Екі іске қосу жолы да орындалып, айырмасын түсіндірсеңіз, әрі қарай өтіңіз.

fn main() {
    println!("Жоспарлау құралы жұмысқа дайын");
}

Күтілетін нәтиже:

Жоспарлау құралы жұмысқа дайын

Cargo анықтамалығы.

Алдыңғы сабақ · Мазмұны · Келесі сабақ

Мәтінде қате не теру қатесі кездессе, бізге айтыңыз

Пікірлер (0)

Әзірге пікір жоқ. Бірінші болыңыз.