Wprowadzenie do języka Haskell

Spisie treści

Zobaczmy wprowadzenie do języka programowania Haskell, chodzi o funkcjonalny język. W takim języku funkcje będą wykonywać obliczenia i coś zwrócą, nie ma to żadnego efektu drugorzędnego. Ponadto zmienne mogą przyjmować tylko jedną wartość, to znaczy, jeśli mamy zmienną o nazwie n, której przypisujemy wartość 10, n będzie warte 10, nie możemy sprawić, by stała się 14 lub 3.

Haskell to statycznie typowany językInnym przykładem takiego języka jest Java, co oznacza, że ​​gdy kompilujemy kod, kompilator będzie wiedział, jaki typ danych należy do części pamięci (całkowita, łańcuchowa, znakowa, logiczna itp.), w przeciwieństwie do tego, co dzieje się w języki dynamiczne, takie jak Python czy Ruby.

Ten język robi leniwe oceny, nie wykona obliczenia, dopóki wartość nie będzie całkowicie potrzebna, a także zapobiegnie powtórzeniu tej oceny, jeśli będziemy potrzebować obliczenia później. W przypadku funkcji wykładniczych jest to coś interesującego, ponieważ pomoże skrócić czas wykonania.

Po zapoznaniu się z niektórymi cechami języka, zaczniemy od akcji, samouczek będzie w pełni praktyczny, pierwszą rzeczą, jakiej będziemy potrzebować, to zainstalować Haskell na naszym systemie, w tym samouczku będzie używany Ubuntu, dlatego wykonam w terminalu następujące polecenie:

 sudo apt-get install haskell-platform
Jeśli korzystasz z innego systemu operacyjnego, zostawiamy Ci przycisk do oficjalnej strony Haskell, gdzie dowiesz się, jak kontynuować instalację na Windows, Mac lub innej dystrybucji Linuksa:

POBIERZ HASKELL

Zacznijmy od praktyki, tutorial podzielimy na przykłady, zaczynając od najprostszego.

Przykład 1
Zaczniemy od uruchomienia konsoli Haskell, w tym celu w terminalu napiszemy następujące polecenie:

 ghci
Jak widać, ładujemy:

Promp to Prelude, możemy to zmienić, w tym przypadku wstawimy go w hkl, w tym celu wykonamy:

 : ustaw znak zachęty "hskl>"
Widzimy, jak to się zmieniło:

Aby zakończyć pierwszy przykład, zobaczymy, jak wykonać niektóre operacje w tej konsoli, poniżej jest przechwytywanie przykładów, widzimy sumę, dzielenie (widzimy, że pokazuje nam ułamki dziesiętne, w innych językach ​​zwróciłby część całkowitą ) i operację z nawiasami, aby docenić jego funkcję.

NotatkaJeśli chcemy wyjść z konsoli Haskell piszemy:

 : Co
I dajemy wejść.

Przykład 2
W poniższym przykładzie będziemy pracować z typami danych logicznych, zobacz poniższy obrazek, aby zrozumieć ich użycie:

Nie wymaga dalszych wyjaśnień, używamy i (&&) i lub (||), oprócz negacji (nie). W tej chwili wszystko jest proste, jak widać.

Przykład 3
Możemy porównywać ciągi, liczby, tak jak robimy to w innych językach, zobaczmy, jak to działa:

Zgodnie z oczekiwaniami, porównanie różnych typów powoduje błąd.

Przykład 4
W tym przykładzie zobaczymy funkcje, które mamy w Haskell, z których prawdopodobnie będziemy często korzystać:

Wyjaśniamy funkcje widoczne na poprzednim zrzucie ekranu:

  • succ x: Zwraca następcę x, jeśli x wynosi 3, zwraca 4.
  • min x y: Zwraca minimalną liczbę między x i y, jeśli y wynosi 3, a x wynosi 2, zwraca x.
  • maks. x y: Zwraca maksimum x i y, w przykładzie 3 i 2 zwraca 3.

Przykład 5
W tym przykładzie stworzymy pewną "funkcję":

Widzimy, że stworzyliśmy funkcję exp, która jest kwadratem liczby i funkcję o nazwie double, która zwróci dwukrotność liczby, którą do niej przekazujemy, możesz również zobaczyć, że możesz połączyć to, co funkcja zwraca z innymi operacje takie jak dodawanie.

Przykład 6
Stworzymy naszą własną funkcję maksimum, ale dla 3 liczb, i będziemy jej używać, poniżej zrzutu:

Przykład 7
Zobaczymy inne funkcje, z którymi możemy pracować w Haskell, są one proste, zastosujemy je do list.

Widzimy jak w tym zwraca listę bez ostatniego elementu, ogon robi odwrotnie, zwraca listę bez pierwszego elementu. Jeśli zobaczymy głowa zwraca pierwszy element listy i oczywiście ostatni zwraca ostatni element. I dwie ostatnie funkcje, długość daje nam długość listy i odwrócić Zwraca nam go odwrócony. Funkcji jest więcej, ale celem samouczka nie jest zobaczenie ich wszystkich, a jedynie przybliżenie, aby można było rozpocząć pracę z Haskellem.

Przykład 8
Zobaczymy ostatni przykład, który obliczy silnię liczby, która spróbuje utworzyć plik, skompilować go i wykonać, stworzymy plik o nazwie test.hs i do niego dodamy następujący kod:

 fac n = (jeśli n == 0 to 1 inaczej n * fac (n-1)) main = print (fac 3)
Do kompilacji używamy następującej linii:
 ghc -o test test.hs
Aby go wykonać, wstawiamy:
 ./test
Oto wynik:

Cóż, to jest samouczek na Język programowania HaskellJeśli masz już doświadczenie w szybkim programowaniu, nauczysz się tego, chociaż jeśli nie jesteś na początku przyzwyczajony do języków funkcjonalnych, jego programowanie może być nieco dziwne.

Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave