User Tools

Site Tools


trainingtutorial:create_code

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
trainingtutorial:create_code [2009/12/22 14:42]
shona.weldon
trainingtutorial:create_code [2009/12/22 15:12] (current)
shona.weldon
Line 2: Line 2:
  
 The obvious way to create code is to just type it in but there are also some features in the [[trainingtutorial:​documenter_tour#​procedure editor dialogue]] that will help. The obvious way to create code is to just type it in but there are also some features in the [[trainingtutorial:​documenter_tour#​procedure editor dialogue]] that will help.
 +
 +For lots of tips on tool coding see: [[https://​www.whatiftechnologies.com/​doku.php?​id=how_tos|How Tos]]
  
 ===== Clicking in variable and informant names ===== ===== Clicking in variable and informant names =====
Line 9: Line 11:
 It is VERY important to note that the dimensions inside the square brackets "​[]"​ is ONLY guidance for the user and is completely ignored by the parser. ​ It can happen that these indicies get out of sync with the code and so they should be considered questionable and verified with a seeshape (varname[]) whenever you aren't sure. It is VERY important to note that the dimensions inside the square brackets "​[]"​ is ONLY guidance for the user and is completely ignored by the parser. ​ It can happen that these indicies get out of sync with the code and so they should be considered questionable and verified with a seeshape (varname[]) whenever you aren't sure.
  
-===== <​Ctrl>​ Double Click in left box =====+===== <​Ctrl>​ Double Click in left hand panel =====
 This operation gives you the properties dialog for whatever you select. ​ This is useful for checking shape, history, and notes information for variables and for checking element names for informants. This operation gives you the properties dialog for whatever you select. ​ This is useful for checking shape, history, and notes information for variables and for checking element names for informants.
  
Line 22: Line 24:
 ===== Parser Important Information and Limitations ​ ===== ===== Parser Important Information and Limitations ​ =====
  
-  ​The parser reads and executes left to right ALWAYS, it does not obey regular math ordering - BEDMAS (brackets, exponents, division, multiplication,​ addition, subtraction) +  ​The parser reads and executes left to right ALWAYS, it does not obey regular math ordering - BEDMAS (brackets, exponents, division, multiplication,​ addition, subtraction) 
-  ​Multiplication is NOT "​Matrix"​ multiplication it is cell by cell multiplication with matching of the indicies. ​ When there is a dimension in  +  ​Multiplication is NOT "​Matrix"​ multiplication it is cell by cell multiplication with matching of the indicies. ​ When there is a dimension in  
 +  * Nesting of tool calls works to any depth, however, it can only be done for the left most inputs of the inputs for example:
  
 +**Example 1** Nesting:
 +    * This works (because the sum is the first input to the booleq tool):
 +<​code>​A[] = booleq (sum (B[x]; dim=xName), 0) </​code>​
 +    * but this does not (because the sum is now the second input to the booleq tool)
 +<​code>​A[] = booleq (0, sum (B[x]; dim=xName)) </​code>​
  
 +**Example 2** Nesting with infix
 +    * Similarly for infix calling of tools, this works (because the sum is the first input to the "​+"​ tool):
 +<​code>​A[] = sum (B[x]; dim=xName) + 1 </​code>​
 +    * but this does not (because the sum is now the second input to the "​+"​ tool)
 +<​code>​A[] =1 + sum (B[x]; dim=xName) ​ </​code>​
  
  
  
trainingtutorial/create_code.1261492927.txt.gz · Last modified: 2009/12/22 14:42 by shona.weldon