Solving a Rust enum pattern matching exercise by replacing placeholder comments with proper match patterns for three different enum variants

⚓ Rust    📅 2026-04-06    👤 surdeus    👁️ 6      

surdeus

enum Point {
    Nothing,
    TuplePoint(i32, i32),
    StructPoint {
        x: i32,
        y: i32
    }
}
fn get_point(n: u8) -> Point {
    match n {
        1 => Point::TuplePoint(-1, 1),
        2 => Point::StructPoint {
            x: -1,
            y: 1
        },
        _ => Point::Nothing
    }
}
fn main() {
    let p = get_point(2);
    match p {
        Point::Nothing => println!("no point"),
        Point::TuplePoint(x, y) => println!("x is {} and y is {}", x, y),
        Point::StructPoint { x, y } => println!("x is {} and y is {}", x, y),
    }
}

2 posts - 2 participants

Read full topic

🏷️ Rust_feed