Rust — first steps · 3 Lessons
English

Rust

Module 1 – Rust — first steps

Page 3 of 3 · About 15 minutes per lesson, including practice.

Functions and a clear policy

15-minute session: read for 3 minutes, trace for 3, experiment for 7, and complete the check for 2. Spend longer whenever you need.

A function or subroutine names a reusable calculation. Our policy accepts nonnegative total and completed counts and returns zero when completed reaches or exceeds total. Otherwise it returns their difference. Trace (4,1), (4,4), (4,5), and (0,0). Keep printing separate from calculation. Write down why negative inputs are outside this exercise’s domain, then design an explicit rejection policy before accepting external input.

fn main is the entry point. let introduces a binding; mut permits reassignment. println! is a macro. A reference such as &plan borrows rather than transfers ownership.

fn remaining(total: u32, done: u32) -> u32 { total.saturating_sub(done) }
fn main() {
    println!("{}", remaining(4, 1));
}

Expected result: 3

Practice and evidence

Keep three notes: your prediction, the actual result, and why they match or differ. The completion check grades understanding; the practice task builds skill.

Language reference

Example code on Agila Forge ↗

Complete this lesson

Answer every check correctly to earn your lesson certificate. Feedback helps you review and try again.

Sign in · Save your progress and earn a certificate for this lesson.