Wir werden eine Einführung in die Programmiersprache Haskell sehen , es ist eine funktionale Sprache . In dieser Art von Sprachen führen die Funktionen eine Berechnung durch und geben etwas zurück, es hat keine Nebenwirkungen. Darüber hinaus können die Variablen nur einen Wert annehmen. Wenn wir also eine Variable mit dem Namen n haben, die wir mit dem Wert 10 belegen, wird n 10 und kann nicht als 14 oder 3 gezählt werden.
Haskell ist eine statisch typisierte Sprache , ein weiteres Beispiel für eine Java- Sprache ist Java . Dies bedeutet, dass der Compiler beim Kompilieren eines Codes weiß, welcher Datentyp zu einem Teil des Speichers gehört (Ganzzahl, Zeichenfolge, Zeichen, Boolescher Wert usw.). im Gegensatz zu dynamischen Sprachen wie Python oder Ruby .
Diese Sprache führt träge Auswertungen durch , berechnet erst, wenn ein Wert vollständig erforderlich ist, und verhindert auch, dass die Auswertung wiederholt wird, wenn die Berechnung später benötigt wird. Für Exponentialfunktionen ist dies interessant, da hierdurch die Ausführungszeit verkürzt werden kann.
Nach einer Einführung in einige der Merkmale der Sprache werden wir mit der Aktion beginnen. Das Tutorial wird vollständig praktisch sein. Als Erstes müssen wir Haskell in unserem System installieren. Für dieses Tutorial werden wir daher Ubuntu verwenden Ich werde den folgenden Befehl im Terminal ausführen:
sudo apt-get installiere die haskell-plattform
Wenn Sie ein anderes Betriebssystem verwenden, lassen wir eine Schaltfläche auf der offiziellen Haskell-Seite, auf der Sie erfahren, wie Sie mit der Installation fortfahren, unabhängig davon, ob es sich um Windows, Mac oder eine andere Linux-Distribution handelt:
Beginnen wir mit der Übung, wir werden das Tutorial in Beispiele aufteilen, beginnend mit den einfachsten.
Beginnen wir mit dem Starten der Haskell-Konsole. Dazu schreiben wir in einem Terminal den folgenden Befehl:
ghci
Wie Sie sehen können, lädt es uns:
Das Promp ist Prelude, wir können es ändern, in diesem Fall werden wir es in hkl setzen, dafür werden wir ausführen:
: set prompt "hskl>"
Wir sehen, wie es sich verändert hat:
Zum Abschluss des ersten Beispiels werden wir sehen, wie einige Operationen in dieser Konsole ausgeführt werden. Unten sehen wir die Erfassung der Beispiele. Wir können eine Summe und eine Division sehen (wir sehen, dass sie Dezimalzahlen anzeigt, in anderen Sprachen hätten wir den gesamten Teil zurückgegeben ) und eine Operation mit Klammern, um ihre Funktion zu beurteilen.
: q
Und wir geben ein.
Im folgenden Beispiel werden wir mit Booleschen Datentypen arbeiten. Sie können das folgende Bild sehen, um die Verwendung zu verstehen:
Es bedarf keiner weiteren Erläuterung, wir verwenden und ( && ) und oder ( || ) zusätzlich zur Ablehnung ( nicht ). Im Moment ist alles einfach, wie wir sehen können.
Wir können Zeichenfolgen und Zahlen wie in den übrigen Sprachen vergleichen. Schauen wir uns an, wie es funktioniert:
Der Vergleich zwischen verschiedenen Typen führt erwartungsgemäß zu einem Fehler.
In diesem Beispiel sehen wir Funktionen, die wir in Haskell haben und die wir wahrscheinlich oft verwenden werden:
Wir erklären die Funktionen der vorherigen Aufnahme:
- succ x : Gibt den Nachfolger von x zurück, wenn x 3 ist, wird 4 verringert.
- min xy : Gibt die minimale Zahl zwischen x und y zurück. Wenn y 3 ist und x 2 ist, wird x zurückgegeben.
- max xy : Gibt das Maximum von x und y zurück, im Beispiel von 3 und 2 wird 3 zurückgegeben.
In diesem Beispiel werden wir eine “Funktion” erstellen:
Wir sehen, dass wir die exp-Funktion erstellt haben, sie quadriert eine Zahl und eine Funktion namens double, die die doppelte Zahl zurückgibt, die wir an sie übergeben haben. Sie können auch kombinieren, was eine Funktion zurückgibt mit anderen Operationen wie Addition.
Wir werden unsere eigene maximale Funktion erstellen, aber für 3 Zahlen, und wir werden sie verwenden und dann erfassen:
Wir werden andere Funktionen sehen, mit denen wir in Haskell arbeiten können, sie sind einfach, wir werden sie auf Listen anwenden.
Wir sehen, wie init die Liste ohne das letzte Element zurückgibt, tail das Gegenteil, die Liste ohne das erste Element. Wenn wir head sehen, gibt es das erste Element der Liste und natürlich last das letzte zurück. Und die letzten beiden Funktionen, length, geben die Länge der Liste an und reverse gibt sie an uns zurück. Es gibt weitere Funktionen, aber es ist nicht das Ziel des Lernprogramms, alle Funktionen anzuzeigen. Geben Sie lediglich eine Annäherung an, damit Sie mit Haskell arbeiten können.
Sehen wir uns das letzte Beispiel an, in dem die Fakultät einer Zahl berechnet wird, das versucht, eine Datei zu erstellen, diese zu kompilieren und auszuführen. Wir erstellen eine Datei mit dem Namen test.hs und fügen darin den folgenden Code ein:
fac n = (wenn n == 0 dann 1 sonst n * fac (n-1)) main = print (fac 3)
Zum Kompilieren verwenden wir die folgende Zeile:
ghc -o test test.hs
Und um es auszuführen, setzen wir:
./test
Dann verlassen wir die Ausgabe:
Nun, bis hierher kommt das Tutorial zur Programmiersprache Haskell . Wenn Sie bereits Erfahrung mit schnellem Programmieren haben , werden Sie den Dreh raus haben, auch wenn Sie anfangs nicht an funktionale Sprachen gewöhnt sind, kann Ihre Programmierung seltsam sein.