Schleifen
Aus CINEMA 4D Wiki
Schleifenvarianten für Coffee:
Inhaltsverzeichnis |
Aufbau
Schleifenbefehl (Schleifenbedingung)
{
Auszuführender Code der Schleife
}
oder für einzelne Kurze Befehls schleifen:
Schleifenbefehl (Schleifenbedingung) Befehl;
Die folgenden Beispiele sind ohne die Coffee üblichen Main function:
main (doc, op)
{
}
for()
for ( Initialisierung, Verifikation, update) Code der ausgeführt wird;
- Schreibt 0 bis 10 in die Konsole:
var a; for (a=0; a<10; a=a+1) println(a);
- Wenn Variable a schon definiert ist kann man die Initialisierung überspringen:
var a=0; for (; a<10; a=a+1) println(a);
- Komplexerer Code wird wie üblich dann in geschweiften klammern gesetzt:
var a, c;
var b=0;
for (a=0; a<10; a=a+1)
{
c=b+a;
println(b, " + ", a, " = ", c);
b=c;
}
println("Ende");
while()
Frei Übersetzt: Solange a<100 führe den Code aus
var a=0;
while (a<100)
{
println(a);
a=a+1;
}
do ... while()
Wenn man noch nicht weis wann man eine Schleife abrechen soll, und erst nach der schleife prüfen möchte ob die Bedingung erreicht wurde kann man die kombination aus do ... while verwenden.
var x=0;
do
{
println(x);
x=x+10;
}
while (x<100);
switch () ... case
Eigentlich ein Art Schalter der alle Case fälle überprüft bis er einen gültigen findet. Falls nichts zutrift kann man mit default: eine Standardausgabe definieren. Diese ist aber nicht zwingend wenn alle anderen case : abfragen eindeutig sind.
var x="hans";
switch (x)
{
case "hans":
println ("hans gefunden");
break;
case "peter":
println ("peter gefunden");
break;
case "otto":
println ("otto gefunden");
break;
case "hans":
println ("der hans wird nie gefunden weil nach dem ersten abgebrochen wird!");
break;
case "lisa":
println ("lisa gefunden");
break;
default:
println ("Nichts gefunden."); //und falls x gar kein hans ist wird das ausgegeben
}
println("------------------ Ende -------------------");
Aus Schleifen Ausbrechen
Wenn man nun den fall hat das man nicht vorher weis was in die schleife eingeleitet wird, also erst innerhalb der schleife sichergehen kann das es keine Endlosschleife gibt oder einen anderen Fehler den man vermeiden möchte, kann man Schleifen mit dem break; Befehl abbrechen.
var x=0; // wir tun mal so als wüssten wir das nun nicht ;-)
for (; x<100; x=x*x)
{
println(x);
println("Jetzt kommt die Überprüfung!");
if (x==0) break; //Überprüfung und Ausbruch
println("Das wird wohl nie geschrieben");
}
println("Da sind wir auch schon raus!");
