Sulkeuma (ohjelmointi)

Wikipedia
Loikkaa: valikkoon, hakuun

Sulkeuma (engl. closure) on funktion ja sen käyttämien (ei-paikallisten) muuttujien viitetaulun yhdistelmä. Tietojenkäsittelytieteessä sulkeuma on ensiluokkainen funktio leksikaaliseen kontekstiin sidottujen vapaiden muuttujien kera. [1]

Sulkeumia on kutsuttu Lispissä funargeiksi.[1]

Esimerkkinä EcmaScript-kielinen ekspressio:

(function(a, b) { return a + b })("wiki", "pedia")

Tulkittaessa esimerkki loisi muistiin anonyymin funktion, jolla olisi viitteet muuttujiin jotka sisältävät funktion ulkopuolella määritellyt merkkijonot "wiki" ja "pedia".

Sulkeuma mahdollistaa leksikaalisen näkyvyysalueen (engl. lexical scope), ts. niiden muuttujien näkyvyyden, jotka määriteltiin lähdekoodin mukaisessa kontekstissa.

Sulkeumia käytetään paljon funktionaalisissa ohjelmointikielissä, ja kielissä kuten Scheme ja ML.

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. a b G. J. Sussman and G. L. Steele Jr.: Scheme - An Interpreter For Extended Lambda Calculus (pdf) (section 4, page 21- (pdf page 22)) AI Memo No. 349. December 1975. Massachissetts Institute Of Technology. Viitattu 13.1.2012. (englanniksi)
Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.