Niet divu, že som tento článok nazval „Funkcie ako neoddeliteľná súčasť programovania“, pretože bez nich podľa mňa žiadny jazyk nemá právo existovať. Čo je to? Funkcia je hlavným stavebným kameňom dobre napísaného programu. Nielenže uľahčuje čítanie kódu, ale aj radikálne mení myšlienku štruktúrované programovanie. Pomocou funkcií môžete opätovne použiť jednotlivé časti programu tak, že im odovzdáte ľubovoľné parametre. Žiadny seriózny program si nemožno predstaviť bez tohto zázraku programovacieho prvku.

Stručne vám poviem, ako to funguje. Funkcia je blok inštrukcií, ktoré môže volať váš program. Pri prístupe k hlavičke tohto bloku (názov funkcie) sa vykoná a vykoná niektoré akcie určené programátorom. Potom tento blok vráti prijatú hodnotu a odovzdá ju hlavnému programu. Vysvetlím v praxi.

Zhruba povedané, všetko vyzerá takto. Stručne vysvetlím. Vytvoríme nejakú premennú a priradíme jej výsledok vykonania funkcie myfunc, ktorá zase vypočíta hodnotu umocnenia nejakého čísla. Funkcie sa nevykonávajú okamžite pri spustení programu, ale až pri ich vyvolaní. Možno je to trochu mätúce, ale je to tak.

Ako zavolať funkciu?

Ak chcete volať funkciu, musíte ju vytvoriť. Hoci existujú aj vstavané funkcie. Napríklad toto: cos, hriech, md5, počítať, abs a tak ďalej. Ak ich chcete zavolať, stačí premennej priradiť požadovanú hodnotu.

Argument funkcie je hodnota, ktorú mu odovzdáte, keď ho zavoláte. Argumenty funkcie sú umiestnené v zátvorkách. Keď vytvárate funkciu, zadávate podmienené názvy argumentov. Potom môžu byť tieto názvy použité v tele funkcie ako lokálne premenné. Vráťme sa k funkciám, ktoré si používateľ vytvára sám. To sa robí veľmi jednoducho. Najprv sa vytvorí telo funkcie:

Funkcia hello() ( echo "Ahoj, svet!"; )

Potom to zavoláme. A ak nemá žiadne parametre, dáme len zátvorky. Na zavolanie tejto funkcie použijeme iba riadok: Ahoj();. Akákoľvek funkcia môže tiež vrátiť hodnotu pomocou vyhradené slovo vrátiť. Tento príkaz ukončí vykonávanie funkcie a odošle návratovú hodnotu volajúcemu programu. function sum($first, $second) ($r=$first + $second; return $r;) echo sum(2,5); výsledok vykonania programu bude rovný 7. Lokálne a globálne premenné

Ako v každom inom programovacom jazyku existujú premenné, ktoré sú dostupné iba vo funkcii a premenné, ktoré sú dostupné v kóde samotného programu. Takéto premenné sa nazývajú lokálne a globálne. Vo vnútri funkcie nemôžete pristupovať len k premennej, ktorá bola vytvorená mimo tejto funkcie. Ak sa o to pokúsite, vytvoríte novú premennú s rovnakým názvom, ale lokálnou pre funkciu.

$per="Dima"; function primer() // Urob: výstup lokálnej premennej ( echo "Moje meno je ".$per; ) echo primer();

V tomto prípade sa na obrazovke zobrazí fráza „Moje meno je“. To znamená, že vo funkcii primer bola vytvorená a štandardne priradená premenná $per nulová hodnota. Aby ste sa vyhli takýmto zásekom, musíte použiť operátora globálne. Opravme vyššie uvedený kód zodpovedajúcim spôsobom:

$per="Dima"; function primer() // Vykonáva: výstup globálnej premennej ( global $per; echo "Moje meno je ".$per; ) echo primer();

Teraz by malo byť všetko v poriadku - problém vyriešený. Len nezabudnite, že ak funkcia zmení hodnotu externej premennej, potom takáto zmena ovplyvní celý program, takže tento operátor musíte používať opatrne!

Funkcie s dvoma alebo viacerými argumentmi

Niektoré z argumentov odovzdaných funkcii môžu byť voliteľné, vďaka čomu je funkcia menej náročná. Nasledujúci príklad to jasne ukazuje:

... function font($text, $size=5) // Urobte: výstupná veľkosť písma ( echo " ".$text."";) font("Dobrý deň
",1); font("Dobrý deň
",2); font("Dobrý deň
",3); font("Dobrý deň
",4); font("Dobrý deň
",5); font("Dobrý deň
",6); font("Dobrý deň
");

Štandardne je veľkosť písma 5. Ak vynecháme druhý parameter funkcie, potom sa bude rovnať tejto hodnote.

Záver

Skôr ako sa rozlúčim, chcem vás upozorniť na jednu radu. Spočíva v tom, že všetky funkcie, ktoré ste napísali, vložte do jedného súboru (napríklad function.php). A potom do súboru, kde potrebujete funkciu zavolať, stačí vložiť function.php a všetko bude pripravené na použitie. To výrazne uľahčí pochopenie logiky vášho programu. Na pripojenie použite:

include_once("funkcia.php");

require_once("funkcia.php");

Ak rozumiete podstate problému, ktorý sa uvažuje v tomto článku, som si istý, že funkcie vo svojich programoch môžete ľahko používať. Opäť je to preto, aby boli lepšie upraviteľné a znovu použiteľné.

Funkcie nad číslami. Jazyk VB má nasledujúce matematické funkcie: abs(X) - modulový výpočet; sqr(X) - výpočet druhej odmocniny, atn(X) - výpočet oblúkovej tangenty; cos(X) - výpočet kosínusu; hriech(X) - výpočet sínusu; opálenie(X) - výpočet dotyčnice; log(X) - výpočet prirodzeného logaritmu, exp(X) - výpočet exponentu, kde X- argument funkcie číselného typu. Na výpočet hodnôt funkcií, ktoré v jazyku VisualBasic chýbajú, je potrebné použiť vzorce známe z matematiky.

Výraz r= vo VB by bolo napísané takto: y=sin(x^2)+sqr(tan(x))*(x+5) ^ (1/5).

Argument funkcie musí byť napísaný v zátvorkách.

Funkcie na prevod hodnoty z jedného typu na druhý. Programovací jazyk VB poskytuje funkcie na zmenu typu údajov hodnoty. Napríklad existuje premenná a typu Double a premenná s typu String.

Na zápis premennej a do premennej s je potrebné vykonať typovú konverziu S=CStr(a) a zapísať premennú s do premennej a–a=CDbl(s).

Funkcie VB na konverziu typu hodnoty:

CStr - konvertovať na reťazec;

CByte - konverzia na Byte;

CInt - prevod na celé číslo;

CLng - konverzia na Long;

CSng - konverzia na Single;

CDbl - previesť na Double.

2.6. Reprezentácia rôznych typov údajov v pamäti počítača

Na reprezentáciu informácií v pamäti počítača (číselné aj nenumerické) sa používa metóda binárneho kódovania.

Elementárna bunka pamäte počítača má dĺžku 8 bitov (bajtov). Každý bajt má svoje vlastné číslo (tzv adresu). Najväčšia sekvencia bitov, ktorú môže počítač spracovať ako celok, sa nazýva strojové slovo. Dĺžka strojového slova závisí od dĺžky slova procesora a môže byť 16, 32, 64 bitov atď.

Kódovanie znakov. Na kódovanie znakov stačí jeden bajt. V tomto prípade môže byť reprezentovaných 256 znakov (s desiatkové kódy od 0 do 255). Znaková sada osobných počítačov kompatibilných s IBM PC je najčastejšie rozšírením kódu ASCII (American Standard Code for Information Interchange - štandardný americký kód pre výmenu informácií). V súčasnosti sa používajú aj dvojbajtové reprezentácie znakov.

Reprezentácia celých čísel v dvojkovom doplnku. Rozsah hodnôt závisí od počtu bitov pamäte pridelených na ich uloženie. n-bitová pamäť môže ukladať rôzne hodnoty. Napríklad hodnoty typu Integer sú v rozsahu od -32768 (-2 15) do 32767 (2 15 - 1) a na ich uloženie sú pridelené 2 bajty (16 bitov); typu Long - v rozsahu od -2 31 do 2 31 - 1 a sú umiestnené v 4 bajtoch (32 bitov).

Pre reprezentáciu celých binárnych čísel bez znamienka sa menia od 0 do
, a v podpísanom zastúpení - od
predtým
. V moderných počítačoch je zvykom zvoliť dĺžku n bitovej mriežky celých čísel ako násobok 8 (tj celočíselný počet bajtov).

V prípade vyjadrenia množstva so znamienkom označuje ľavá (najvyššia) číslica kladné číslo, ak obsahuje nulu, a záporné číslo, ak obsahuje jednotku.

Číslice sú číslované sprava doľava, začínajúc od 0. Na obr. .2.2 ukazuje číslovanie bitov v dvojbajtovom strojovom slove.

Ryža. 2.2. Hbitové škálovanie v dvojbajtovom strojovom slove

Dodatočný kód kladné číslo je rovnaké ako jeho priamy kód. Priamy kód celého čísla možno získať takto: číslo sa preloží do binárny systém počítanie a následne sa jeho binárny zápis vľavo doplní o toľko nepodstatných núl, koľko si vyžaduje dátový typ, do ktorého číslo patrí.

Napríklad, ak je číslo 37 (10) = 100101 (2) deklarované ako celočíselná hodnota (šestnásť bitov so znamienkom), potom je jeho priamy kód 0000000000100101 a ak je to dlhá hodnota (32 bitov so znamienkom), potom jeho priamy kód je. Pre kompaktnejší zápis sa častejšie používa hexadecimálne znázornenie kódu. Výsledné kódy je možné prepísať ako 0025 (16) a 00000025 (16).

Dodatočný kód záporného celého čísla možno získať pomocou nasledujúceho algoritmu:

    zapíšte si priamy kód modulu čísla;

    prevrátiť ho (nahradiť jednotky nulami, nuly jednotkami);

    pridajte jednu do inverzného kódu.

Napríklad napíšme dvojkový doplnkový kód -37, ktorý interpretujeme ako dlhú (32-bitovú hodnotu so znamienkom):

    priamy kód pre číslo 37 je ;

    inverzný kód;

    doplnkový kód alebo FFFFFFDB (16) .

Pri získavaní čísla jeho doplnkovým kódom je v prvom rade potrebné určiť jeho znamienko. Ak sa číslo ukáže ako kladné, potom jednoducho preložte jeho kód do desiatkovej číselnej sústavy. V prípade záporného čísla je potrebné vykonať nasledujúci algoritmus:

    odčítajte číslo 1 z kódu;

    invertovať kód;

    preložiť do desiatková sústava zúčtovanie. Výsledné číslo zapíšte so znamienkom mínus.

Príklady. Zapíšme si čísla zodpovedajúce dodatočným kódom:

    0000000000010111. Keďže v najvýznamnejšom bite je zapísaná nula, výsledok bude kladný. Toto je kód pre číslo 23.

    1111111111000000. Tu sa píše kód záporného čísla. Spustíme algoritmus: 1) 1111111111000000 (2) - 1 (2) = 1111111110111111 (2) ; 2) 0000000001000000; 3) 1 000 000 (2) = 64 (10) . Odpoveď: -64.

Cieľ: 1) študovať pravidlá pre popis funkcií; 2) osvojiť si zručnosti používania funkcií pri písaní programov v C++.

Teoretické informácie

Hlavnou jednotkou programov v jazyku C++ je funkcia.

Funkcia- logicky dokončený, určitým spôsobom navrhnutý fragment programu, ktorý má meno. Funkcie umožňujú rozdeliť veľké výpočtové úlohy na menšie.

Každý program v C++ nevyhnutne obsahuje funkciu s názvom main, ktorá je telom programu. Pre všetky ostatné funkcie, ak sú v programe prítomné, by mali byť deklarované prototypy – schematické znázornenia, ktoré kompilátoru povedia názov a formu každej funkcie v programe.

Syntax pre prototyp funkcie s parametrami:

návratová_hodnota_názov_funkcie (zoznam_parametrov_s_označením_typov);

Funkcie v C++ sú štandardné (knižničné) a užívateľsky programovateľné.

Štandardné funkcie

Popisy štandardných funkcií sa nachádzajú v súboroch zahrnutých v programe pomocou direktívy #include. Takéto súbory sa nazývajú hlavičky; majú príponu h.

Odkazovanie na názov funkcie v hlavnom programe sa nazýva volanie funkcie.

Volanie funkcií vedie k vykonaniu nejakých akcií alebo výpočtu nejakej hodnoty, ktorá je následne použitá v programe.

y=sin(x); //funkcia výpočtu sínusu

Definícia funkcie

Vo všeobecnosti sú funkcie definované takto:

typ návratovej hodnoty názov_funkcie (typ názov_parametra,...,typ názov_parametra)

function_body

Programovateľné funkcie

Funkcie, ktoré si programátor sám vytvorí, zjednodušujú proces písania programov, pretože:

    pomôže vyhnúť sa preprogramovaniu, pretože rovnakú funkciu možno použiť v rôznych programoch;

    zvýšiť úroveň modularity programu, preto je jednoduchšie čítať, upravovať a opravovať chyby.

Príklad9 .1. Vytvorme funkciu, ktorá vypíše 65 znakov „*“ za sebou. Aby táto funkcia fungovala v určitom kontexte, je zahrnutá v programe tlače hlavičkových papierov. Program pozostáva z funkcií: main() a stars().

// hlavičkový papier

#include

const int Limit=65;

void hviezdy(void); // prototyp funkcie stars().

cout<<"Moscow Institute of Electronic Engineering"<

// Definovanie funkcie stars().

pre (počet = 1; počet<=Limit; count++)

Pozreli sme sa na príklad jednoduchej funkcie, ktorá nemá žiadne argumenty a nevracia žiadne hodnoty.

Parametre funkcie

Zvážte použitie parametrov funkcie ako príklad.

Príklad9. 2. Napíšme funkciu space(), ktorého argumentom bude počet medzier, ktoré má táto funkcia vytlačiť.

#define adresu " Zelenograd"

#define name "Moskovský inštitút elektronického inžinierstva"

#define odbor "Informatika a programovanie"

const int LIMIT=65;

#include

prázdna medzera (int číslo);

cout<

medzery=(LIMIT - strlen(meno))/2; // Vypočítajte koľko

// potrebuje medzery

cout<

medzera((LIMIT - strlen(oddelenie))/2); // argument je výraz

cout<

// Definícia funkcie stars().

pre (počet = 1; počet<=LIMIT; count++)

// Definícia funkcie space().

prázdny priestor (int číslo)

pre (počet = 1; počet<=number; count++)

Premenné číslo sa nazýva formálny argument. Táto premenná nadobudne hodnoty skutočného argumentu pri volaní funkcie. Inými slovami, formálny argument je premenná v definícii volaného podprogramu a skutočný argument- špecifická hodnota priradená tejto premennej volajúcim programom.

Ak sa na komunikáciu s určitou funkciou vyžaduje viac ako jeden argument, potom spolu s názvom funkcie môžete zadať zoznam argumentov oddelených čiarkami:

void printnum (int i, int j)

(cout<<"Координаты точек”<< i << j <

Vstupná hodnota funkcie môže byť spracovaná vďaka prítomnosti argument; výstupná hodnota sa vráti pomocou kľúčového slova return.

Samostatný systém (podsystém, podprogram), ktorý prijíma riadiace vstupy vo forme hodnôt argumentov. Na výstupe funkcia vráti výsledok, ktorým môže byť buď skalárna hodnota alebo vektorová hodnota (štruktúra, pole indexov atď.). Počas vykonávania funkcie je možné vykonať aj niektoré zmeny v riadenom systéme, a to reverzibilné aj nevratné.

Vedľajší účinok

Funkcie a procedúry

V niektorých programovacích jazykoch (napríklad v Pascal) sú funkcie a procedúry (podprogramy, ktoré nevracajú hodnoty) jasne rozlíšené podľa syntaxe jazyka. V iných – napríklad v jazyku C – sú procedúry špeciálnym prípadom (podmnožinou) funkcií, ktoré vracajú hodnotu typu (pseudotyp) void – prázdnu hodnotu.

Argumenty a možnosti

Pri volaní funkcie sa jej odovzdajú argumenty. Ak je argument odkazom na pamäťovú oblasť (premenná, ukazovateľ alebo odkaz), potom funkcia môže v závislosti od typu svojho parametra buď použiť svoju hodnotu (napríklad vytvoriť premennú, skopírovať tam hodnotu argumentu ), alebo samotný argument (vytvorte odkaz na oblasť pamäte, na ktorú argument odkazuje).

Funkcia bez argumentov

Takáto funkcia nevyžaduje žiadne argumenty.

pozri tiež

Odkazy

  • PHP funkcie. Syntax a príklady použitia funkcií PHP

Nadácia Wikimedia. 2010.

Pozrite si, čo je „Funkcia (programovanie)“ v iných slovníkoch:

    Wikislovník má článok „funkcia“ Funkcia je polysémantický výraz, ktorý znamená vzťah medzi prvkami, v ktorých zmena jedného znamená zmenu ... Wikipedia

    Funkcia stub v programovaní je funkcia, ktorá nevykonáva žiadnu zmysluplnú akciu, vracia prázdny výsledok alebo nezmenené vstupné údaje. Ekvivalentné anglické slovo je stub. Používa sa: Pre prehľadnosť, keď ... ... Wikipedia

    vyššia psychická funkcia: zotavenie- (obnovenie vyšších mentálnych funkcií) časť neuropsychológie venovaná štúdiu mechanizmov a metód obnovy funkcií vyšších mentálnych funkcií, narušených v dôsledku lézií lokálneho mozgu. Na základe predstáv o... Veľká psychologická encyklopédia

    Matematické programovanie je matematická disciplína, ktorá študuje teóriu a metódy riešenia problémov hľadania extrémov funkcií na množinách konečnorozmerného vektorového priestoru určeného lineárnymi a nelineárnymi obmedzeniami ... ... Wikipedia

    V oblasti informatizácie je koncept programovania sieťových úloh, alebo inak nazývaný sieťové programovanie, dosť podobný konceptom programovania soketov a programovania klient-server, ... ... Wikipedia

    Funkcia vyššieho rádu je funkcia, ktorá berie iné funkcie ako argumenty alebo ako výsledok vracia inú funkciu. Základnou myšlienkou je, že funkcie majú rovnaký status ako ostatné dátové objekty... ... Wikipedia

    PROGRAMOVANIE MATEMATICKÉHO- zložitý matematický. modely a metódy riešenia problémov hľadania extrému (maxima alebo minima) funkcií viacerých premenných pod obmedzeniami vo forme nerovností. Znamená to, že premenné charakterizujú niektoré aspekty mechanizmu ... ... Ruská sociologická encyklopédia

    Matematická disciplína, ktorá študuje matematiku. abstrakcie programov, s ktorými sa zaobchádza ako s objektmi vyjadrenými vo formálnom jazyku, s určitou informáciou a logikou. štruktúrou a podlieha automatickému vykonávaniu. zariadení. P. t....... Matematická encyklopédia

    Funkcia v programovaní je typ podprogramu. Funkcia, ktorá ju odlišuje od iného druhu podprogramov procedúr je, že funkcia vracia hodnotu a jej volanie možno v programe použiť ako výraz. Z pohľadu ... ... Wikipedia

    PROGRAMOVANIE, MAT- odvetvie aplikovanej matematiky používané ako metóda v ekonomickom výskume. Rozvíja teóriu a metódy riešenia podmienených extrémnych problémov, je hlavnou súčasťou formálneho aparátu na analýzu rôznych problémov riadenia ... Veľký ekonomický slovník

Ak ste vývojár ako ja, pravdepodobne ste sa najskôr naučili paradigmu OOP. Vaším prvým jazykom bola Java alebo C++ – alebo ak máte šťastie, Ruby, Python alebo C# – takže pravdepodobne viete, čo sú triedy, objekty, inštancie atď. Čomu určite veľa nerozumiete, sú základy tej zvláštnej paradigmy zvanej funkcionálne programovanie, ktorá sa výrazne líši nielen od OOP, ale aj od procedurálneho, prototypovo orientovaného a iných typov programovania.

Funkčné programovanie sa stáva populárnym – a má na to dobrý dôvod. Samotná paradigma nie je nová: Haskell je možno najfunkčnejší jazyk a vznikol v 90. rokoch. Jazyky ako Erlang, Scala, Clojure tiež spadajú pod definíciu funkcionálu. Jednou z hlavných výhod funkčného programovania je možnosť písať programy, ktoré fungujú súbežne (ak ste už zabudli, čo to je - osviežte si pamäť čítaním), a bez chýb - to znamená, že vás nebudú obťažovať uviaznutia a bezpečnosť vlákien.

Funkčné programovanie má mnoho výhod, ale možné maximálne využitie zdrojov CPU vďaka konkurenčnému správaniu je jeho hlavnou výhodou. Nižšie sa pozrieme na základné princípy funkcionálneho programovania.

Úvod: Všetky tieto zásady sú voliteľné (veľa jazykov ich úplne nedodržiava). Všetky sú teoretické a sú potrebné pre čo najpresnejšiu definíciu funkčnej paradigmy.

1. Všetky funkcie sú čisté

Toto pravidlo je určite hlavné vo funkčnom programovaní. Všetky funkcie sú čisté, ak spĺňajú dve podmienky:

  1. Funkcia volaná s rovnakými argumentmi vždy vráti rovnakú hodnotu.
  2. Počas vykonávania funkcie nie sú žiadne vedľajšie účinky.

Prvé pravidlo je jasné – ak zavolám funkciu sum(2, 3), očakávam, že výsledok bude vždy 5. Akonáhle zavoláte funkciu rand(), alebo pristúpite k premennej, ktorá nie je vo funkcii definovaná, čistota funkcie je narušená a to nie je povolené vo funkčnom programovaní.

Druhé pravidlo – žiadne vedľajšie účinky – má širší charakter. Vedľajším efektom je zmena na niečo iné, ako je funkcia, ktorá sa práve vykonáva. Zmena premennej mimo funkcie, zápis do konzoly, vyvolanie výnimky, čítanie údajov zo súboru, to všetko sú príklady vedľajších efektov, ktoré uberajú z čistoty funkcie. Môže sa to zdať ako vážne obmedzenie, ale zamyslite sa znova. Ak ste si istí, že volanie funkcie „zvonku“ nič nezmení, môžete túto funkciu použiť v akomkoľvek scenári. To otvára cestu pre konkurenčné programovanie a viacvláknové aplikácie.

2. Všetky funkcie sú prvotriedne a vyššieho rádu

Tento koncept nie je vlastnosťou FP (používa sa v Javascripte, PHP a iných jazykoch) – ale je to požiadavka. V skutočnosti má Wikipedia celý článok venovaný prvotriednym funkciám. Aby bola funkcia prvotriedna, musí sa dať deklarovať ako premenná. To umožňuje, aby sa s funkciou manipulovalo ako s normálnym dátovým typom a stále bola vykonávaná.

3. Premenné sú nemenné

Všetko je tu jednoduché. Vo funkčnom programovaní nemôžete zmeniť premennú po jej inicializácii. Môžete vytvárať nové, ale nemôžete meniť existujúce – a vďaka tomu máte istotu, že sa žiadna premenná nezmení.

4. Relatívna transparentnosť funkcií

Je ťažké poskytnúť správnu definíciu relatívnej transparentnosti. Myslím, že najpresnejšie je toto: ak môžete nahradiť volanie funkcie návratovou hodnotou a stav sa nezmení, potom je funkcia relatívne transparentná. Môže to byť zrejmé, ale uvediem príklad.

Povedzme, že máme funkciu Java, ktorá pridáva 3 a 5:

Public int addNumbers()( return 3 + 5; ) addNumbers() // 8 8 // 8

Je zrejmé, že každé volanie tejto funkcie môže byť nahradené 8, čo znamená, že funkcia je relatívne transparentná. Tu je príklad nepriehľadnej funkcie:

Public void printText()( System.out.println("Ahoj svet"); ) printText() // Nevráti nič, ale vypíše "Ahoj svet"

Táto funkcia nevracia nič, ale tlačí text a ak sa volanie funkcie nenahradí ničím, stav konzoly bude iný – to znamená, že funkcia nie je relatívne transparentná.

5. Funkčné programovanie je založené na lambda kalkule

Funkčné programovanie sa vo veľkej miere spolieha na matematický systém nazývaný lambda počet. Nie som matematik, takže nebudem zachádzať do detailov – chcem však poukázať na dva kľúčové princípy lambda kalkulu, ktoré tvoria samotný koncept funkcionálneho programovania:

  1. V lambda kalkule môžu byť všetky funkcie anonymné, pretože jedinou zmysluplnou časťou hlavičky funkcie je zoznam argumentov.
  2. Pri volaní všetky funkcie prechádzajú procesom kari. Je to nasledovné: ak je funkcia volaná s viacerými argumentmi, potom sa najskôr vykoná len s prvým argumentom a vráti novú funkciu obsahujúcu o 1 argument menej, ktorá sa okamžite zavolá. Tento proces je rekurzívny a pokračuje, kým sa nepoužijú všetky argumenty, čím sa vráti konečný výsledok. Keďže funkcie sú čisté, funguje to.

Ako som povedal, lambda kalkul sa tam nekončí – ale pokryli sme len kľúčové aspekty súvisiace s FP. Teraz môžete v rozhovore o funkčnom programovaní bliknúť slovom „lambda kalkulus“ a každý si bude myslieť, že tápate 🙂

Záver

Funkčné programovanie je skutočnou záťažou pre mozog – ale je to veľmi silný prístup a verím, že jeho popularita bude len rásť.

Ak sa chcete dozvedieť viac o funkcionálnom programovaní, odporúčame vám pozrieť si príklady použitia princípov FP v JavaScripte ( , ), ako aj ten venovaný funkcionálnemu C#.