Eine typische Haskell-FunktionSchauen wir uns mal das Beispiel der Funktion square etwas genauer an. Zur Erinnerung hier noch einmal die Funktion: |
Listing 1.1 - Square.hs:
|
In Zeile 12 wird zunächst die Funktion deklariert. Zuerst wird dabei der Name angegeben.
Dabei ist zu beachten, dass der Funktionsname mit einem Sonderzeichen (naja, nicht allen, aber einigen) oder einem
Kleinbuchstaben beginnen muss. Bei Funktionsaufrufen ist dann die exakte Schreibweise wichtig -
Groß-/Kleinschreibung ist
also wichtig!!. Danach folgen zwei Doppelpunkte (::) und anschließend die Eingabeparameter sowie Rückgabewerte. Die Eingabeparameter können entweder durch einen Pfeil (->) oder durch ein Komma getrennt werden. Dabei sind mit Komma getrennte Variablen zu Tupeln zusammenzufassen. Selbiges gilt für die Rückgabewerte. Und die Eingabeparameter werden auch nach dem selben System von den Rückgabewerten getrennt. Als nettes Feature können mehrere Parameter oder Rückgabewerte noch geklammert werden. Das wird dann Tupel genannt und dient einfach nur der besseren Übersichtlichkeit. Doch zuerst mal nen paar Beispiele samt Funktionsrumpf: |
Listing 2:
|
Als Parameter können natürlich nicht nur einzelne Werte angegeben werden, sondern auch Listen.
Listen sind das Pendant zu Arrays in anderen Programmiersprachen und fassen mehrere Werte in einer Variablen zusammen. Dazu werden
einfach eckige Klammern um einen Datentyp oder um ein Tupel gesetzt. Beliebige Verschachtelungen sind dabei erlaubt. Und zur
Veranschaulichung gibts hier wieder nen paar Beispiele: |
Listing 3:
|
FunktionsrumpfBeim Funktionsrumpf wird ebenfalls zuerst der Funktionsname angegeben. Danach folgen die Variablennamen für die Eingabeparameter mit denen man später nach dem = arbeitet. Dabei sind die Klammern für Tupel entsprechend der Funktionsdeklaration zu setzen. Listenklammern werden selbstverständlich weggelassen.Die Variablen selbst werden durch Leerzeichen getrennt, bei Tupeln jedoch werden sie durch ein Komma getrennt. |