Code bekommt ein wenig langweilig ohne Flusskontrolle; für Vorspeisen,Parrot kennt über Verzweigung und Etiketten. Der Zweig op ist entspricht Perls goto:
branch TERRY JOHN: print "fjords\n" branch END MICHAEL: print " pining" branch GRAHAM TERRY: print "It's" branch MICHAEL GRAHAM: print " for the " branch JOHN END: end
Es kann auch einfache Tests durchführen, um zu sehen, ob ein Register einen wahren Wert enthält:
set I1, 12 set I2, 5 mod I3, I2, I2 if I3, REMAIND, DIVISOR REMAIND: print "5 divides 12 with remainder " print I3 branch DONE DIVISOR: print "5 is an integer divisor of 12" DONE: print "\n" end
Hier ist, was das wäre,schauen wie in Perl , für den Vergleich:
$i1 = 12; $i2 = 5; $i3 = $i1 % $i2; if ($i3) { print "5 divides 12 with remainder "; print $i3; } else { print "5 is an integer divisor of 12"; } print "\n"; exit;
Wir haben das gesamte Spektrum der numerischen Komparatoren: eq, ne, lt, gt, le und ge. Beachten Sie, dass Sie nicht verwenden können diese Operatoren auf Argumente der disparat Typen; Sie können sogar brauchen, um das Suffix _i oder _n zum op hinzuzufügen, um es zu sagen, welche Art von Argument Sie verwenden, obwohl der Assembler sollte göttlich dies für Sie , von der Zeit, die Sie dies lesen.