Ausbrechen der for-Schleife beim Ausführen einer Funktion innerhalb einer for-Schleife in R

8

Angenommen, Sie haben die folgende Funktion foo . Wenn ich eine for -Schleife führe, möchte ich, dass der Rest von foo übersprungen wird, wenn foo anfangs den Wert von 0 zurückgibt. % Co_de% funktioniert jedoch nicht, wenn es sich in einer Funktion befindet.

Wie es derzeit geschrieben wird, erhalte ich die Fehlermeldung break .

Irgendwelche Vorschläge?

%Vor%     
andrewj 25.03.2010, 04:52
quelle

5 Antworten

7

Zugegeben, mein R-Wissen ist spärlich und das ist trocken kodiert, aber etwas wie das Folgende sollte funktionieren:

%Vor%

Edit: Aktualisierter Null-Check für die Nachwelt

    
Dusty 25.03.2010, 05:08
quelle
4

Machen Sie das in Bezug auf die Codierungspraxis nicht. Eine Funktion zu haben, die nur innerhalb einer bestimmten Schleife verwendet werden kann, ist keine gute Idee. Aus pädagogischen Gründen können Sie den "Bruch" in der Umgebung der Eltern bewerten.

%Vor%     
Ian Fellows 25.03.2010 07:07
quelle
4

Darf man etwas kreativer sein? Können Sie Ihr Problem neu formulieren, um den folgenden Ansatz zu nutzen, bei dem die Operation auf Vektoren basiert?

%Vor%

Wenn jedoch eine tiefere Form der Frage zugrunde liegt und wir diesem Muster vorläufig folgen müssen, dann wechsle es vielleicht ein bisschen ...

%Vor%     
William Doane 25.03.2010 12:37
quelle
2

Ein alternativer Weg ist es, einen Fehler zu werfen und ihn mit try zu fangen, so:

%Vor%     
Leo Alekseyev 25.03.2010 06:15
quelle
0

Ich habe keine Ahnung, wie r funktioniert, aber ich fand die Frage interessant, weil ich die Syntax einer neuen Sprache nachschlagen konnte, also entschuldige meine Antwort, wenn sie total falsch ist:)

%Vor%     
Kelsey 25.03.2010 05:09
quelle

Tags und Links