Menu
Coddy logo textTech

Schleifen-Labels

Teil des Abschnitts Fundamentals der Rust-Journey von Coddy — Lektion 42 von 75.

Labels in Rust helfen Ihnen dabei, bestimmte Schleifen abzubrechen oder fortzusetzen, wenn diese verschachtelt sind. Fügen Sie 'label: vor einer Schleife hinzu, um sie zu kennzeichnen.

Zum Beispiel:

'outer: for i in 1..=3 {
    'inner: for j in 1..=3 {
        if i * j > 5 {
            break 'outer;
            // Dies wird die äußere Schleife abbrechen
        }
        println!("({}, {})", i, j);
    }
}

In diesem Beispiel haben wir zwei verschachtelte Schleifen, die mit 'outer und 'inner bezeichnet sind. Wenn das Produkt von i und j größer als 5 ist, wird die Anweisung break 'outer; ausgeführt, wodurch die äußere Schleife beendet wird. Die Ausgabe dieses Codes lautet:

(1, 1)
(1, 2)
(1, 3)
(2, 1)
(2, 2)

Ebenso können Sie continue 'label; verwenden, um mit der nächsten Iteration der angegebenen Schleife fortzufahren. Zum Beispiel:

'outer: for i in 1..=3 {
    'inner: for j in 1..=3 {
        if i == j {
            continue 'outer;
            // Dies wird die äußere Schleife fortsetzen
        }
        println!("({}, {})", i, j);
    }
}

In diesem Fall wird, wenn i gleich j ist, die continue 'outer;-Anweisung ausgeführt, was den Rest der inneren Schleife überspringt und mit der nächsten Iteration der äußeren Schleife fortfährt. Die Ausgabe wird sein:

(2, 1)
(3, 1)
(3, 2)
challenge icon

Aufgabe

Anfänger

Schreiben Sie ein Rust-Programm, das gelabelte Schleifen verwendet, um das erste Zahlenpaar (i, j) zu finden, dessen Summe größer als 10 ist und dessen Produkt ein Vielfaches von 12 ist (das Produkt ist ohne Rest durch 12 teilbar).  Das Programm soll i von 1 bis 20 und j von 1 bis 20 durchlaufen.

Wenn Sie das Paar finden, geben Sie es im Format (i, j) aus und brechen Sie die äußere Schleife ab.

Spickzettel

Labels in Rust helfen Ihnen dabei, bestimmte Schleifen abzubrechen oder fortzusetzen, wenn diese verschachtelt sind. Fügen Sie 'label: vor einer Schleife hinzu, um sie zu kennzeichnen.

Verwenden Sie break 'label;, um eine bestimmte gekennzeichnete Schleife zu beenden:

'outer: for i in 1..=3 {
    'inner: for j in 1..=3 {
        if i * j > 5 {
            break 'outer;  // Bricht die äußere Schleife ab
        }
        println!("({}, {})", i, j);
    }
}

Verwenden Sie continue 'label;, um mit der nächsten Iteration einer bestimmten gekennzeichneten Schleife fortzufahren:

'outer: for i in 1..=3 {
    'inner: for j in 1..=3 {
        if i == j {
            continue 'outer;  // Setzt die äußere Schleife fort
        }
        println!("({}, {})", i, j);
    }
}

Probier es selbst

fn main() {
    'outer: for i in 1..=20 {
        for j in 1..=20 {
            // Your logic here
            
            
            break 'outer;
        }
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Fundamentals