Lambda (anonyymi funktio)

Wikipedia
Loikkaa: valikkoon, hakuun

Lambda eli anonyymi funktio on tietojenkäsittelytieteessä funktio jota ei ole sidottu muuttujaan tai muuhun tunnistajaan.

Lambda saa nimensä Alonzo Churchin Lambda-kalkyylistä, matemaattisen logiikan mallista jossa kaikki funktiot ovat anonyymejä.[1]

Lambdat eri ohjelmointikielissä[muokkaa | muokkaa wikitekstiä]

Javascript[muokkaa | muokkaa wikitekstiä]

(function(foo, bar) { return "Ecmascript".replace(foo, bar); })("Ecma", "Java") //"Javascript"
[0,1,2,3,4].reduce(function(prev, cur, i, a){return prev+cur;}, 0); //10

Lisp[muokkaa | muokkaa wikitekstiä]

(lambda (arg) (* arg arg))
((lambda (x y) (* x y)) 5 10) ;50

Ruby[muokkaa | muokkaa wikitekstiä]

Ruby 1.9-versioista eteenpäin lambdoja voi luoda kahdella tavalla.

joku_lambda = lambda { |x| x**x } #1.8 lähtien

toinen_lambda = -> (y){ y+y*y } #'->' kreikan λ-kirjaimesta (lambda)

ei_lambda = proc { || ... } #deprikoitu

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. David Flanagan, Yukihiro Matsumoto: ”6”, The Ruby programming language, s. 193-196. O'Reilly Media, Inc., 2008. ISBN0596516177. Teoksen verkkoversio (viitattu 2.12.2010). (englanniksi)