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 revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
at:tutorial:basic [2020/02/09 21:53]
elisag
at:tutorial:basic [2020/02/09 22:03]
elisag
Line 230: Line 230:
 >> 21 >> 21
 </code> </code>
 +
 +
 +
  
  
Line 246: Line 249:
 As is customary in languages with the above optional arguments, AmbientTalk requires mandatory parameters to be defined //before// optional parameters, which should in turn be defined //before// a variable-argument parameter, if any. As is customary in languages with the above optional arguments, AmbientTalk requires mandatory parameters to be defined //before// optional parameters, which should in turn be defined //before// a variable-argument parameter, if any.
  
-Let us show how to use optional arguments to define an auxilary function that creates matrices as follows:+Let us show how to use optional arguments to define an auxilary function that creates matrices:
  
 <code> <code>
Line 252: Line 255:
   def [i,j] := [0,0];   def [i,j] := [0,0];
   def makeCol(i,j) {   def makeCol(i,j) {
-     def col[m] { j := j + 1; init(n,m) }+     def col[m] { j := j + 1; init(i,j) }
   };   };
   def matrix[n] { i := i + 1; makeCol(i,j)}   def matrix[n] { i := i + 1; makeCol(i,j)}
 }; };
-def b := makeMatrix(2,4, {|i,j| object: { def occupied := false }}); 
->((b[2])[4]).occupied := true 
->>true 
->(h[2]).each: {|e| system.print(" " + e.occupied)} 
->> false false false true 
 >def c := makeMatrix(3); >def c := makeMatrix(3);
 >>[[0, 0, 0], [0, 0, 0], [0, 0, 0]] >>[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
Line 267: Line 265:
 >c >c
 >>[[1, 2, 3], [0, 0, 0], [0, 0, 0]] >>[[1, 2, 3], [0, 0, 0], [0, 0, 0]]
 +>def d := makeMatrix(4,4, { |i,j| if: (i == j) then: {1} else: {0}});
 +>> [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]
 </code> </code>
  
at/tutorial/basic.txt ยท Last modified: 2020/02/09 22:05 by elisag