Odpovídáte na názor ke článku Lambda výrazy, uzávěry, bloky.
Nejsem si jisty, zda autor zapisku pochopil smysl uzaveru (lambda vyraz neni totez). Rikam to proto, ze jsem sam docela dlouho zil ve stejnem omylu. Pointa neni v te anonymite nebo zjednoduseni zapisu. Pointa je v tom, ze vam to umoznuje vykonat operaci v jine casti kodu (kam predate ten uzaver), ale v lexikalnim kontextu mista, odkud ho predavate.
To ma za dusledek, ze lexikalni kontext (= ke kterym promennym muzete pristupovat z ktere funkce) uz neni strom, hierarchicka struktura, jak je zapsana ve zdrojaku, ale graf. A to zprehlednuje kod, protoze to umoznuje logicky oddelit operace, ktere by se musely jinak zapsat ve stejnem bloku.
A jak uz zminuje Mordae, pomoci uzaveru se da opravdu resit vsechno, napriklad se pomoci nich daji implementovat tridy a objekty. V nekterych jazycich jsou proto misto trid toto jako zakladni primitiva.
Autor se zabývá vývojem kompilátorů a knihoven pro objektově-orientované programovací jazyky.
Přečteno 37 775×
Přečteno 26 420×
Přečteno 24 934×
Přečteno 21 278×
Přečteno 18 933×