User Tools

Site Tools


at:tutorial:basic

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
at:tutorial:basic [2007/04/05 14:12] elisagat:tutorial:basic [2007/04/05 15:11] elisag
Line 144: Line 144:
 >>6 >>6
 </code> </code>
- 
  
 ===== Closures ===== ===== Closures =====
  
-The function name can also be used just to refer the function but without calling it. TODO!+As you have probably noticed in the previous examples,  the value returned by a function definition is a closure. Actually in AmbientTalk functions are implemented as named closures.  
 + 
 +The function name can be thus used to refer the function (without calling it). This will also return a closure to that function. 
  
 ===== Blocks ===== ===== Blocks =====
Line 169: Line 171:
 >>6 >>6
 </code> </code>
 +
 +This example also illustrates that blocks are also used to iterate over enumerations, such as in //foreach: {} in: table//.
 +
 AmbientTalk doesn’t support function assigment. However, one can assign blocks to variables. In order to call the block the name of the variable must be used. If the block defined parameters, these are required to the call as argument list. What follows is an example of such manipulation: AmbientTalk doesn’t support function assigment. However, one can assign blocks to variables. In order to call the block the name of the variable must be used. If the block defined parameters, these are required to the call as argument list. What follows is an example of such manipulation:
 <code> <code>
at/tutorial/basic.txt · Last modified: 2020/02/09 22:05 by elisag