Montag, Januar 27, 2020

Beenden von\ die Rückkehr zu den wichtigsten Funktion – Matlab

Schreibe ich einen code in matlab, in diesem code habe ich eine Funktion f(), der die Funktion aufruft g(), der die Funktion aufruft h().

Funktion f() Anrufe g() im for – Schleife iteriert 101 mal, und g() Anrufe h().

Jede iteration h() zeigt ein Bild, der Benutzer hat einige änderungen an das Bild, bis er drückt die Enter oder O – Tasten:

  • Wenn er drückt Enter h() gibt eine Datei mit den änderungen, die er gemacht, und weiter zum nächsten Bild.
  • Wenn er drückt O dann h() gibt die Datei mit den änderungen. aber nicht weiter auf die nächsten Bilder, stattdessen gibt es zu Main.

Seine wie exit(1) in C.

Irgendwelche Ideen, wie kann ich es tun?

1 Kommentar

  1. 6

    Ich glaube, Sie suchen nach return. Obwohl es nicht zurückgeben, die Sie sofort zu h, haben Sie, um return in g irgendwo als gut.

    Solange Sie den Namen mindestens einer output-variable in der Funktion Erklärung, die Ausgabe, die zurückgegeben werden, egal, ob Sie return oder nicht.

    Beispiel:

    function out = f()
        % do stuff
        x = g();
        % do stuff with x
    end
    
    
    function out = g()
        % do other stuff
        out = h();
        if strcmp(out, 'O') % check whether user entered 'O' in h()
            return;
        else
            % do different stuff
        end
    end
    
    function out = h()
        out = input();
    end
    • vielen Dank für die Beantwortung. Sorry meine Frage war nicht klar, aber h() zurückgeben müssen einige Eingaben, auch wenn der Benutzer drückt „O“. In anderen Worten, f() ruft g() for i=0 to 100 (mal) und g () – Aufrufe h(). Für jedes i, h() zeigt ein Bild, der Benutzer hat einige änderungen an das Bild, bis er mit der Taste „Enter“ oder „O“. Wenn er enter gedrückt h() zurück, eine Datei mit den änderungen, die er gemacht, und contintue auf das nächste Bild. wenn er gedrückt „O“ dann h() gibt die Datei für die änderungen, aber nicht weiter auf die nächsten Bilder, gibt es auf Main. Irgendwelche Ideen jetzt?. und nochmals vielen Dank.
    • Ah, ich sehe. In diesem Fall lassen Sie h() Gegenzug mehrere output-Variablen, wie function [img, key] = h(). Es wird noch zurück zu g() ersten, ich glaube nicht, dass es einen Weg gibt, um die. Aber basierend auf dem Wert von key, g() fortsetzen kann, oder brechen Ihre Schleife.
    • Danke! Ich kann Ihre Lösung, nachdem alle, aber ich habe zu tun einige änderungen erste. Für jetzt habe ich überprüft, wenn der Benutzer drückt „O“, wenn ich also eine Datei erstellt mit dem Namen: „Exit“. dann überprüfte ich in f (), wenn die Datei existiert, wenn ja, habe ich „zurück“ zum Hauptmenü. Nochmals vielen Dank !

Kostenlose Online-Tests