Reflexionen über die Programmiersprache Rust 9

in deutsch •  3 days ago

    *if-else if-else Bedingungen

    Um ehrlich zu sein, im normalen Leben fände ich eine solche Programmiermethode manchmal nützlich. Wenn und-wenn dann-ansonsten. Das System müsste aber einigermaßen ausgefeilt sein, damit es nicht so ruckartig, roboterhaft daherkommt. Trotzdem gehe ich davon aus, dass wir wohl am meisten von der If-Bedingung für unsere Entscheidungen verwenden. If-Bedingungen gelten als Kontrollstrukturen in Rust.

    Aufbau der if-Bedingung

    let variable = Wert
    
    if variable Bedingung{
        führe aus
    ]
    else if variable andere Bedingung{
        führe andere Bedingung aus
    }
    ..
    else if ...weitere andere Bedingungen{
    ...}
    else{
    keine der vorherigen Bedingungen hat zugetroffen.
    }
    
    

    Am Besten stellt man sich vor, dass die if-Struktur von oben nach unten durchforstet wird, bis sie auf einen Wert trifft, der die gestellten Forderungen erfüllt (true). Das ist die Bedingung, die umgesetzt wird.
    Die Kontrollstruktur if wird immer gleichermaßen aufgebaut. Es gibt ein if{...} else if[....} manchmal reicht das schon vollkommen aus. Else if kann es quasi unendlich viele geben. Im Prinzip könnte man auch immer wieder ein neues if dazwischen setzen. Der Compiler wird nicht maulen. ABER! das neue if erzeugt eine neue Prüfinstanz, dh. der Compiler hat den Rest des ifs vergessen und fängt von vorne an. Der Konvention wegen und zum besseren Verständnis, baut man auf diese 3 Stufen auf. else könnte man weglassen, das hat aber zur Folge, dass es keine verknüpfte Bedingung gibt. Der Benutzer würde quasi nie erfahren, dass er ins Leere getappt ist, außer die Erkenntnis, dass der Bildschirm einfach etwas Neues anzeigt, oder seine Eingabe ignoriert hat.

    Versuchen wir mal eine solche If-Struktur

    fn main (){
    
        let x=5; //x, die Variable die durch die If-Struktur gezogen wird.
        if x==4{ // == heißt ident. Da x 5 ist, muss es weiter gehen.
            println!("x ist {x}. Das passt!");
        }
        else if x==5{ //x die Bedingung ist erfüllt
            println!("x ist  nicht 4"); //dieser Text wird ausgegeben. Springt zum if-Ende.*Sprunganfang
        }
        else if x==6{ //wird ab hier nicht mehr geprüft.
            println!("x ist nicht 4");
        }
        else{
            println!{"davon trifft gar nichts zu!"}
        }//*Sprungende
    }
    
    

    Im nächsten Abschnitt möchte ich auf mathematische Operatoren eingehen und die if-Strukturen damit vertiefen zu können.

      Authors get paid when people like you upvote their post.
      If you enjoyed what you read here, create your account today and start earning FREE VOILK!