Увод у језик Хаскелл

Преглед садржаја

Погледајмо а упознавање са програмским језиком Хаскелл, Ради се о а функционални језик. У овој врсти језика функције ће извршити прорачун и вратиће нешто, то нема секундарни ефекат. Осим тога, променљиве могу узети само једну вредност, то јест, ако имамо променљиву звану н којој додељујемо вредност 10, н ће вредети 10, не можемо учинити да постане 14 или 3.

Хаскелл је језик са статичким типомЈош један пример оваквог језика је Јава, што значи да ће, када састављамо код, компајлер знати која врста података припада делу меморије (цео број, низ, знак, логичко итд.), Супротно ономе што се дешава у динамички језици, као што су Питхон или Руби.

Овај језик даје лење оцене, неће вршити прорачун све док вредност није потпуно неопходна, а спречиће и понављање ове процене ако нам касније прорачун затреба. За експоненцијалне функције то је нешто занимљиво, јер ће помоћи у смањењу времена извршавања.

Након увода у неке од карактеристика језика, кренућемо са радњом, водич ће бити потпуно практичан, прва ствар која ће нам требати је да инсталирамо Хаскелл на наш систем, јер ће се за овај водич користити Убунту, стога ћу извршити следећу команду у терминалу:

 судо апт-гет инсталл хаскелл-платформ
Ако користите други оперативни систем, остављамо вам дугме на службеној страници Хаскелл, где ћете пронаћи како да наставите са инсталацијом, било на Виндовс, Мац или другој дистрибуцији Линука:

ДОВНЛОАД ХАСКЕЛЛ

Почнимо са праксом, поделићемо водич на примере, почевши од најједноставнијих.

Пример 1
Почећемо покретањем Хаскелл конзоле, за то ћемо у терминалу написати следећу команду:

 гхци
Као што видите, учитавамо:

Упит је Прелуде, можемо га променити, у овом случају ћемо га ставити у хкл, за ово ћемо извршити:

 : сет промпт "хскл>"
Видимо како се то променило:

Да завршимо са првим примером, видећемо како да изведемо неке операције у овој конзоли, испод је хватање примера, можемо видети збир, поделу (видимо да нам показује децималне бројеве, на другим језицима Вратио би целобројни део) и операцију са заградама, да би се ценила његова функција.

БелешкаАко желимо да изађемо из Хаскелл конзоле, пишемо:

 : Шта
И дајемо ентер.

Пример 2
У следећем примеру ћемо радити са логичким типовима података, погледајте следећу слику да бисте разумели њихову употребу:

Не захтева додатно објашњење, користимо и ((&&) и или (||), поред негације (не). Тренутно је све лако, као што видимо.

Пример 3
Можемо упоредити низове, бројеве, као што то радимо на другим језицима, да видимо како то функционише:

Поређење између различитих типова доноси грешку, како се и очекивало.

Пример 4
У овом примеру видећемо функције које имамо у Хаскеллу, које ћемо вероватно често користити:

Објашњавамо функције које смо видели на претходном снимку екрана:

  • суцц к: Враћа наследник к, ако је к 3, враћа 4.
  • мин к и: Враћа минимални број између к и и, ако је и 3 и к је 2, враћа к.
  • мак к и: Враћа највише к и и, у примеру 3 и 2, враћа 3.

Пример 5
У овом примеру ћемо створити неку "функцију":

Видимо да смо створили функцију екп, која ради квадратни број, и функцију која се зове доубле, која ће вратити двоструко већи број који јој проследимо, такође можете видети да можете комбиновати оно што функција враћа са другим операције као што су сабирање.

Пример 6
Направићемо своју максималну функцију, али за 3 броја, и користићемо је испод снимања:

Пример 7
Видећемо друге функције са којима можемо да радимо у Хаскеллу, једноставне су, применићемо их на листе.

Видимо како у томе оно што ради је враћање листе без последњег елемента, Реп ради супротно, враћа листу без првог елемента. Ако видимо глава враћа први елемент листе и наравно последњи враћа последњи елемент. И последње две функције, дужине даје нам дужину листе и обрнуто Враћа нам га окренут. Постоји још функција, али није циљ водича да их све видите, само да дате приближну вредност како бисте могли да почнете да радите са Хаскелл -ом.

Пример 8
Видећемо последњи пример који ће израчунати факторијал броја, који ће покушати да створи датотеку, компајлира је и изврши, креираћемо датотеку под називом тест.хс и у њу ћемо додати следећи код:

 фац н = (иф н == 0 тхен 1 елсе н * фац (н-1)) маин = принт (фац 3)
За компајлирање користимо следећи ред:
 гхц -о тест тест.хс
И да бисмо га извршили, ставили смо:
 ./тест
Ево излаза:

Па, ово је водич на Програмски језик ХаскеллАко већ имате искуства у брзом програмирању, снаћи ћете се у томе, мада ако у почетку нисте навикли на функционалне језике, његово програмирање може бити помало чудно.

Да ли вам се допао и помогао овај водич?Можете наградити аутора притиском на ово дугме да бисте му дали позитиван поен

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave