Closures/Value capture: Difference between revisions

simplify description
(Added Elixir)
(simplify description)
Line 2:
 
;Task:
Create a list of &nbsp; '''10''' &nbsp; functions, &nbsp; in the simplest manner possible &nbsp; (anonymous functions are encouraged), &nbsp; such that the function at index &nbsp; <big><big><math> ''i </math></big></big> &nbsp;'' (you may choose to start &nbsp; <big><big><math> ''i </math></big></big> &nbsp;'' from either &nbsp; '''0''' &nbsp; or &nbsp; '''1'''), &nbsp; when run, &nbsp; should return the square of the index, &nbsp; that is, &nbsp; ''i''<bigsup><big><math> i^2</math></big></bigsup>.
 
Display the result of running any but the last function, &nbsp; to demonstrate that the function indeed remembers its value.
 
 
Line 12:
In imperative languages, one would generally use a loop with a mutable counter variable.
 
For each function to maintain the correct number, &nbsp; it has to capture the &nbsp; ''value'' &nbsp; of the variable at the time it was created, &nbsp; rather than just a reference to the variable, &nbsp; which would have a different value by the time the function was run.
<br><br>
 
=={{header|Ada}}==