Įvadas į Haskelio kalbą

Turinys

Pažiūrėkime a įvadas į „Haskell“ programavimo kalbą, Tai apie a funkcinė kalba. Tokio tipo kalbomis funkcijos atliks skaičiavimą ir kažką grąžins, tai neturi jokio antrinio poveikio. Be to, kintamieji gali turėti tik vieną reikšmę, tai yra, jei turime kintamąjį, pavadintą n, kuriam priskiriame reikšmę 10, n bus vertas 10, negalime jo padaryti 14 arba 3.

Haskell yra statiškai įvesta kalbaKitas tokios kalbos pavyzdys yra „Java“, tai reiškia, kad kai mes sudarysime kodą, kompiliatorius žinos, kokio tipo duomenys priklauso atminties daliai (sveikasis skaičius, eilutė, simbolis, loginis ir tt), priešingai nei vyksta dinamiškos kalbos, tokios kaip „Python“ ar „Ruby“.

Ši kalba daro tingius vertinimus, jis neatliks skaičiavimo, kol reikšmė nebus visiškai būtina, ir taip pat neleis pakartoti šio vertinimo, jei mums prireiks skaičiavimo vėliau. Eksponentinėms funkcijoms tai yra kažkas įdomaus, nes tai padės sutrumpinti vykdymo laiką.

Įvedę kai kurias kalbos ypatybes, pradėsime nuo veiksmo, pamoka bus visiškai praktiška, pirmas dalykas, kurio mums reikės, yra įdiegti „Haskell“ į mūsų sistemą, šiai pamokai bus naudojamas „Ubuntu“, todėl terminale vykdysiu šią komandą:

 sudo apt-get install haskell-platforma
Jei naudojate kitą operacinę sistemą, mes paliekame jums mygtuką į oficialų „Haskell“ puslapį, kuriame rasite, kaip tęsti diegimą „Windows“, „Mac“ ar kitame „Linux“ platinime:

ATSISIŲSTI HASKELL

Pradėkime nuo praktikos, pamoką skirsime į pavyzdžius, pradedant paprasčiausiu.

1 pavyzdys
Pradėsime paleisdami „Haskell“ konsolę, tam terminale parašysime šią komandą:

 ghci
Kaip matote, įkeliame:

Raginimas yra „Prelude“, mes galime jį pakeisti, šiuo atveju mes jį įdėsime į „hkl“, tam mes vykdysime:

 : nustatykite raginimą "hskl>"
Matome, kaip pasikeitė:

Baigdami pirmuoju pavyzdžiu, pažiūrėsime, kaip atlikti kai kurias operacijas šioje konsolėje, žemiau pateikiamas pavyzdžių surinkimas, matome sumą, padalijimą (matome, kad jis rodo dešimtainius skaičius kitomis kalbomis) Būtų grąžinta sveikojo skaičiaus dalis) ir operacija su skliausteliais, kad būtų įvertinta jos funkcija.

PastabaJei norime išeiti iš „Haskell“ konsolės, rašome:

 : ką
Ir mes duodame įeiti.

2 pavyzdys
Šiame pavyzdyje mes ketiname dirbti su loginiais duomenų tipais, peržiūrėkite šį paveikslėlį, kad suprastumėte jų naudojimą:

Tai nereikalauja papildomo paaiškinimo, mes naudojame ir (&&) ir arba (||), be neigimo (ne). Šiuo metu viskas yra paprasta, kaip matome.

3 pavyzdys
Mes galime palyginti eilutes, skaičius, kaip tai darome kitomis kalbomis, pažiūrėkime, kaip tai veikia:

Skirtingų tipų palyginimas sukelia klaidą, kaip tikėtasi.

4 pavyzdys
Šiame pavyzdyje matysime funkcijas, kurias turime Haskell, kurias tikriausiai dažnai naudosime:

Mes paaiškiname funkcijas, matytas ankstesnėje ekrano kopijoje:

  • sėkmingas x: Grąžina x įpėdinį, jei x yra 3, grąžina 4.
  • min x y: Pateikia minimalų skaičių tarp x ir y, jei y yra 3, o x yra 2, grąžina x.
  • max x y: Pateikia didžiausią x ir y skaičių, 3 ir 2 pavyzdyje - 3.

5 pavyzdys
Šiame pavyzdyje mes sukursime „funkciją“:

Matome, kad sukūrėme „exp“ funkciją, kuri yra kvadratinis skaičius, ir funkciją, vadinamą „dviguba“, kuri duos dvigubą skaičių, kurį mes perduosime, taip pat galite matyti, kad galite sujungti tai, ką funkcija grąžina, su kita tokias operacijas kaip papildymas.

6 pavyzdys
Mes sukursime savo maksimalią funkciją, bet 3 skaičių, ir mes ją naudosime žemiau užfiksavimo:

7 pavyzdys
Mes pamatysime kitas funkcijas, su kuriomis galime dirbti „Haskell“, jos yra paprastos, mes jas pritaikysime sąrašuose.

Matome, kaip iniciat tai grąžina sąrašą be paskutinio elemento, uodega veikia priešingai, grąžina sąrašą be pirmojo elemento. Jei matome galva grąžina pirmąjį sąrašo elementą ir, žinoma paskutinis grąžina paskutinį elementą. Ir paskutinės dvi funkcijos, ilgio pateikia mums sąrašo ilgį ir atvirkščiai Jis grąžina mums atsisukęs. Yra ir daugiau funkcijų, tačiau pamokos tikslas nėra jas visas pamatyti, tik pateikti apytikslę informaciją, kad galėtumėte pradėti dirbti su „Haskell“.

8 pavyzdys
Mes pamatysime paskutinį pavyzdį, kuris apskaičiuos skaičiaus koeficientą, kuris bandys sukurti failą, jį kompiliuoti ir vykdyti, mes sukursime failą, vadinamą test.hs ir jame pridėsime šį kodą:

 fac n = (jei n == 0, tada dar 1 n * fac (n-1)) main = print (fac 3)
Norėdami sudaryti, naudojame šią eilutę:
 ghc -o testo testas.hs
Ir norėdami tai įvykdyti, įdėjome:
 ./testas
Štai išvestis:

Na, tai yra pamoka apie Haskell programavimo kalbaJei jau turite greito programavimo patirties, tai suprasite, nors jei iš pradžių nesate pratę prie funkcinių kalbų, jos programavimas gali būti kiek keistas.

Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave