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/04 11:01] elisagat:tutorial:basic [2007/04/04 11:25] elisag
Line 1: Line 1:
 <note> <note>
-**IN PROGRESS** +**UNDER CONSTRUCTION!!**
-  - Could it be possible that the "table of contents" table in this page contains also a link to the actual page with the table of contents of the tutorial? +
-  - (TOADD_1:) how to define and deal with multidimensional tables.+
 </note> </note>
  
Line 49: Line 47:
 >def vocals := ["a", "e", "i", "o", "u"] >def vocals := ["a", "e", "i", "o", "u"]
 >>["a", "e", "i", "o", "u"] >>["a", "e", "i", "o", "u"]
->table[3] := vocals;+>table[3] := vocals
 >>[1, 2, ["a", "e", "i", "o", "u"], 4, 5] >>[1, 2, ["a", "e", "i", "o", "u"], 4, 5]
 >table[3][2] >table[3][2]
Line 58: Line 56:
  
 <code> <code>
->[ 1, table, "ambientTalk"];+>[ 1, table, "ambientTalk"]
 >>[1, [1, 2, ["a", "e", "i", "o", "u"], 4, 5], "ambientTalk"] >>[1, [1, 2, ["a", "e", "i", "o", "u"], 4, 5], "ambientTalk"]
 </code> </code>
Line 64: Line 62:
 ==== Functions ==== ==== Functions ====
    
-As variables and tables, functions are defined with the keyworkd def in the form of: +As variables and tables, functions are defined with the keyword **def** in the form of: 
 <code> <code>
 def functionname( <arglist> ) { <body> } def functionname( <arglist> ) { <body> }
 </code> </code>
-The argument list is just a list of local variables which are always evaluated one by one from left to right.  A basic function looks like this:+The argument list is just a list of local variables which are always evaluated one by one from left to right. A basic function looks like this:
 <code> <code>
 >def square (x) { x*x } >def square (x) { x*x }
Line 75: Line 73:
 >>25 >>25
 </code> </code>
-As usual, functions can call themselves recusively. More interestingyou can also nest definitions of functions inside other functions as in+Functions can call themselves recusively and as in Picofunctions can also be nested in the definitions other functions such as: 
 <code> <code>
 >def fac(n) {  >def fac(n) { 
Line 87: Line 85:
 >>120 >>120
 </code> </code>
-Note that variables and functions defined locally to functions are only visible in the scope of the function where there were defined. Notice also that a function name can also be used just to refer the function but without calling it. 
  
-Unlike Pico, AmbientTalk doesn't support function assigment. However, you can assign functions to variables. This means that a closure will be created and assigned to the variable. What follows is an example of such manipulation.+Variables and other functions defined locally to a function are only visible in the scope of the function where there were defined. Notice also that a function name can also be used just to refer the function but without calling it. 
 + 
 +Unlike Pico, AmbientTalk doesn't support function assigment. However, one can assign functions to variables. This means that internally a closure will be created and assigned to the variable. What follows is an example of such manipulation
 <code> <code>
 >def sum := 0 >def sum := 0
at/tutorial/basic.txt · Last modified: 2020/02/09 22:05 by elisag