Úvod do jazyka Haskell

Obsah

Podívejme se na úvod do programovacího jazyka Haskell, Jde o a funkční jazyk. V tomto typu jazyka budou funkce provádět výpočet a budou něco vracet, nemá to žádný sekundární účinek. Proměnné navíc mohou mít pouze jednu hodnotu, to znamená, že pokud máme proměnnou nazvanou n, které přiřadíme hodnotu 10, n bude mít hodnotu 10, nemůžeme z ní udělat 14 nebo 3.

Haskell je staticky napsaný jazykDalším příkladem jazyka, jako je tento, je Java, což znamená, že když kompilujeme kód, kompilátor bude vědět, jaký typ dat patří do části paměti (celé číslo, řetězec, znak, logická hodnota atd.), Na rozdíl od toho, co se děje v dynamické jazyky, jako je Python nebo Ruby.

Tento jazyk dělá líné hodnocení, neprovede výpočet, dokud není hodnota zcela nezbytná, a také zabrání tomu, aby se toto vyhodnocení opakovalo, pokud potřebujeme výpočet později. Pro exponenciální funkce je to něco zajímavého, protože to pomůže zkrátit dobu provádění.

Po představení některých charakteristik jazyka začneme akcí, tutoriál bude zcela praktický, první věc, kterou budeme potřebovat, je nainstalovat Haskell do našeho systému, pro tento tutoriál se použije Ubuntu, proto v terminálu spustím následující příkaz:

 sudo apt-get install haskell-platform
Pokud používáte jiný operační systém, ponecháme vám tlačítko na oficiální stránce Haskell, kde najdete postup při instalaci, ať už ve Windows, Mac nebo jiné linuxové distribuci:

STÁHNOUT HASKELL

Začněme praxí, tutoriál rozdělíme na příklady, počínaje tím nejjednodušším.

Příklad 1
Začneme spuštěním konzoly Haskell, proto do terminálu napíšeme následující příkaz:

 ghci
Jak vidíte, načítáme:

Výzva je Prelude, můžeme ji změnit, v tomto případě ji vložíme do hkl, proto provedeme:

 : nastavit výzvu "hskl>"
Vidíme, jak se to změnilo:

Abychom skončili s prvním příkladem, uvidíme, jak v této konzole provést některé operace, níže je zachycení příkladů, můžeme vidět součet, dělení (vidíme, že nám ukazuje desetinná místa, v jiných jazycích To by vrátilo celočíselnou část) a operaci se závorkami, abychom ocenili její funkci.

PoznámkaPokud chceme opustit konzolu Haskell, napíšeme:

 : co
A dáváme enter.

Příklad 2
V následujícím příkladu budeme pracovat s booleovskými datovými typy, jejich použití najdete na následujícím obrázku:

Nevyžaduje další vysvětlení, používáme a (&&) a nebo (||), kromě negace (ne). V tuto chvíli je vše snadné, jak vidíme.

Příklad 3
Můžeme porovnávat řetězce, čísla, stejně jako v jiných jazycích, podívejme se, jak to funguje:

Porovnání mezi různými typy nám podle očekávání vyvolá chybu.

Příklad 4
V tomto příkladu uvidíme funkce, které máme v Haskellu, které pravděpodobně budeme často používat:

Vysvětlujeme funkce zobrazené na předchozím snímku obrazovky:

  • uspět x: Vrátí nástupce x, pokud x je 3, vrátí 4.
  • min x r: Vrátí minimální počet mezi x a y, pokud y je 3 a x je 2, vrátí x.
  • max. x r: Vrátí maximum xay, v příkladu 3 a 2 vrátí 3.

Příklad 5
V tomto příkladu vytvoříme nějakou „funkci“:

Vidíme, že jsme vytvořili funkci exp, která dělá čtvercové číslo, a funkci nazvanou double, která vrátí dvojnásobek čísla, které jí předáme, můžete také vidět, že můžete kombinovat to, co funkce vrací s jinými operace, jako je sčítání.

Příklad 6
Vytvoříme vlastní maximální funkci, ale pro 3 čísla, a použijeme ji, pod zachycením:

Příklad 7
Uvidíme další funkce, se kterými můžeme v Haskellu pracovat, jsou jednoduché, použijeme je na seznamy.

Vidíme jak inic to, co dělá, je vrátit seznam bez posledního prvku, ocas dělá to naopak, vrátí seznam bez prvního prvku. Pokud uvidíme hlava vrátí první prvek seznamu a samozřejmě poslední vrací poslední prvek. A poslední dvě funkce, délka udává délku seznamu a zvrátit Vrací nám to otočený. Existuje více funkcí, ale není cílem tutoriálu je všechny zobrazit, jen poskytnout přibližné údaje, abyste mohli začít pracovat s Haskellem.

Příklad 8
Uvidíme poslední příklad, který vypočítá faktoriál čísla, který se pokusí vytvořit soubor, zkompilovat ho a spustit, vytvoříme soubor s názvem test.hs a v něm budeme přidávat následující kód:

 fac n = (if n == 0 then 1 else n * fac (n-1)) main = print (fac 3)
Ke kompilaci používáme následující řádek:
 ghc -o testovací test. hs
A abychom to provedli, uvedeme:
 ./test
Zde je výstup:

Toto je návod na Programovací jazyk HaskellPokud již máte zkušenosti s rychlým programováním, přijdete na to, i když pokud nejste zpočátku zvyklí na funkční jazyky, jeho programování může být poněkud zvláštní.

Líbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave