EAGLE Help

Funktions-Definitionen


Sie können Ihre eigenen User-Language-Funktionen schreiben und sie genau so aufrufen wie Builtin-Functions.

Die allgemeine Syntax einer Funktions-Definition lautet

type identifier(parameters)
{
  statements
}
wobei type ein Daten- oder Objekt-Typ ist, identifier der Name einer Funktion, parameters eine durch Kommas getrennte Liste von Parameter-Definitionen und statements eine Reihe von Statements.

Funktionen die keinen Wert zurückgeben, haben den Typ void.

Eine Funktion muß definiert werden, bevor sie aufgerufen werden kann, und Funktionsaufrufe können nicht rekursiv sein (eine Funktion kann sich nicht selbst aufrufen).

Die Statements im Funktionsrumpf können die Werte der Parameter ändern, das hat aber keinen Einfluß auf die Argumente des Funktionsaufrufs.

Die Ausführung einer Funktion kann mit dem return-Statement beendet werden. Ohne return-Statement wird der Funktionsrumpf bis zu seiner schließenden geschweiften Klammer (}) ausgeführt.

Ein Aufruf der exit()-Funktion beendet das gesamte User-Language-Programm.

Die spezielle Funktion main()

Wenn Ihr User-Language-Programm eine Funktion namens main() enthält, wird diese Funktion explizit als Hauptfunktion aufgerufen. Ihr Rückgabewert ist der Rückgabewert des Programms.

Kommandozeilen-Argumente sind für das Programm über die globalen Builtin-Variablen argc and argv verfügbar.

Beispiel

int CountDots(string s)
{
  int dots = 0;
  for (int i = 0; s[i]; ++i)
      if (s[i] == '.')
         ++dots;
  return dots;
}
string dotted = "This.has.dots...";
output("test") {
  printf("Number of dots: %d\n",
                 CountDots(dotted));
  }

Index Copyright © 2005 CadSoft Computer GmbH