Shanraq.org Shanraq.org
Қате хабарын көмек ретінде пайдалану
IT

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

Қате хабарын көмек ретінде пайдалану

Тіл ережесінің қатесін ойдағы міндеттің қатесінен ажырату.

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

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

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

Диагностикалық хабар — құралдың табылған мәселе туралы түсіндірмесі. Ол қабілетіңізге баға бермейді, түзетілетін орынды көрсетеді. Қате ағымдағы әрекеттің сәтті аяқталуына кедергі болады. Ескерту әдетте құрастыруға бөгет болмайды, бірақ тексерілетін нәрсені атайды.

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

Дұрыс src/main.rs мынадай. Сақтап, organizer ішінен cargo run арқылы іске қосыңыз:

fn main() {
    println!("Іс: Rust тілін үйрену");
}

Нәтиже:

Іс: Rust тілін үйрену

Енді уақытша көшірмеде әдейі қате жасаймыз: println! орнына printline! жазып, cargo check орындаңыз. Бағдарлама нәтижесі емес, құрастырудың тоқтауы күтіледі:

fn main() {
    printline!("Іс: Rust тілін үйрену");
}

Хабарда cannot find macro деген үзінді болуы керек. Мағынасы — «макрос табылмады»: бізде printline атты макрос жоқ. Толық жол, жол нөмірі және хабардың безендірілуі құрал нұсқасына қарай өзгереді; басқа адамның суретімен бірдей болуы міндетті емес.

Хабарды қалай оқимыз?

src/main.rs атауын, жол нөмірін және көрсетілген орынды табыңыз. Алғашқы маңызды хабарды оқыңыз. Белгіленген жер бұрынғы жолда ұмыт қалған тырнақшаның салдары болуы мүмкін, сондықтан алдыңғы жолды да қараңыз. Бір түзетуден кейін қайта тексеріңіз.

E0384 сияқты белгі — кейбір қате хабарларының айырым коды. rustc –explain E0384 толық түсіндірме сұрайды: –explain — түсіндіру таңдауы, E0384 — оның аргументі. Әр қатеде мұндай нөмір болмайды.

Үш жағдайды ажыратыңыз. Код құрастырылмаса, тіл ережесінің бұзылуын түзетеміз. Бағдарлама іске қосылып, кейін тоқтаса, кіріс деректері мен орындалу жағдайын зерттейміз. Бағдарлама аяқталып, қате жауап берсе, әрекет ретін міндетпен салыстырамыз. Әр жағдайды тек әріп қатесін түзетумен шешу мүмкін емес.

Тірек сызба

Оқу → орнын табу → себебін түсіну → бір жерін өзгерту → тексеру → іске қосу → нәтижені салыстыру.

Жаттығу

  1. Болжаңыз: қате жазылған хабар мәтіні сәтті құрастырыла ала ма?
  2. Толықтырыңыз: Compiling хабарын ___, ал іс туралы жолды ___ шығарады.
  3. println! атауын қалпына келтіріңіз.

Тапсырма

Міндетті. Макрос атауындағы қатені түзетіп, шығатын мәтінді «Дайын» деп өзгертіңіз. Алдымен check, кейін run орындаңыз. Күтілетін нәтиже: сәтті тексеру және осы бір жол.

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

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

Макрос — println!, ал тырнақша ішіндегі мәтінді өзіңіз таңдайсыз. Жаттығу жауабы: иә, қате сөз құрастырылуы мүмкін; Compiling хабарын Cargo, өз жолын біздің бағдарлама шығарады. Көмек сұрағанда пәрменді, жүйені, нұсқаны, толық хабарды және шағын мысалды беріңіз. Құпия дерек жібермеңіз, хабарды жай ғана «істемейді» деп алмастырмаңыз.

fn main() {
    println!("Дайын");
}

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

Дайын

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

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

Пікірлер (0)

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