User Tools

Site Tools


manual:Calculations

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
manual:Calculations [2018/05/16 23:14]
JMichaelTX Update Operators Table. Needs Fixes.
manual:Calculations [2018/06/30 03:26] (current)
peternlewis [Operators]
Line 23: Line 23:
 Operators based on precedence from lowest to highest are: Operators based on precedence from lowest to highest are:
  
-| Array Separator (`,`)\\ FIXME -- this is NOT an //​operator//​ IMO. | Allows a text Variable, which has comma separated values, to work somewhat like an Array.\\ Assume `MyKMVariable` contains "​value1,​value2,​value3"​.\\ Then `MyKMVariable[2]` returns "​value2"​. |+| Array Separator (`,`) | Allows a text Variable, which has comma separated values, to work somewhat like an Array.\\ Assume `MyKMVariable` contains "​value1,​value2,​value3"​.\\ Then `MyKMVariable[2]` returns "​value2"​. |
 | Ternary Operator (`?`) | a=b ? 3 : 4 | | Ternary Operator (`?`) | a=b ? 3 : 4 |
 | Bitwise OR (`|`), Bitwise AND (`&`) and Bitwise XOR | operators | | Bitwise OR (`|`), Bitwise AND (`&`) and Bitwise XOR | operators |
Line 29: Line 29:
 | Shift Operators (`≪, ≫`) | shift a number left or right | | Shift Operators (`≪, ≫`) | shift a number left or right |
 | Arithmetic Operators\\   • Add (`+`)\\   • Subtract (`-`)\\   • Multiply (`*`)\\   • Divide (`/`) | A mathematical function that takes two operands and performs a calculation on them. | | Arithmetic Operators\\   • Add (`+`)\\   • Subtract (`-`)\\   • Multiply (`*`)\\   • Divide (`/`) | A mathematical function that takes two operands and performs a calculation on them. |
-| [Modulo](https://​en.wikipedia.org/​wiki/​Modulo_operation) (`i MOD n`) | The remainder of the division of i by n.\\ Both values (`i, n`) must be integer in Keyboard Maestro. ​ |+| [Modulo](https://​en.wikipedia.org/​wiki/​Modulo_operation) (`i MOD n`) | The remainder of the division of `i by n`.\\ Both values (`i, n`) must be an integer in Keyboard Maestro. ​ |
 | Power Operator (`^`) | exponentiation | | Power Operator (`^`) | exponentiation |
 | Unary Prefix Operators (`√`, `-`, `( )` ) | square root, negation, sub-expressions | | Unary Prefix Operators (`√`, `-`, `( )` ) | square root, negation, sub-expressions |
-functions\\ FIXME -- While technically ​Functions ​are operators, it confusing to most users to list here since everywhere else in KM they are separated. ​| a large variety of functions | +[[:Functions|Functions]] ​| a large variety of functions | 
-| Numbers and Variables or Array Accesses (5,​$5A,​0x50,​8#​007,​Variable,​Variable[5])\\ FIXME -- this is clear as mud. | identifiers and values |+| Numbers and Variables or Array Accesses (5,​$5A,​0x50,​8#​007,​Variable,​Variable[5]) | identifiers and values |
 | Unary Postfix Operators (`!,%,°`)) | factorial, percent, degrees | | Unary Postfix Operators (`!,%,°`)) | factorial, percent, degrees |
 +
 +Numbers are in decimal by default, but may use base 16 if they start with `$` or `0x` (eg $5A or 0x5A), or may start with a specific base followed by a `#` (eg 8#007).
 +
 +[[Variables|Variables]] can be used if they contain numeric expressions,​ including an *array* of numbers separated by commas, in which case you can use an array index to select the desired number. ​
  
 You can use either `=` or `==` (v8+) for testing for equality. You can use either `=` or `==` (v8+) for testing for equality.
  
 Operators and functions must be in uppercase to minimize conflict with variables. Operators and functions must be in uppercase to minimize conflict with variables.
- 
 ===== Functions ===== ===== Functions =====
  
Line 48: Line 51:
 ===== Variables ===== ===== Variables =====
  
-Variables ​are used unadorned ​in numeric calculations.  Do not try to use tokens (like <del>%Variable%MyVar%</​del>​) in numeric calculation fields, just use MyVar by itself. The variable must contain a valid numeric value, or an expression (v8+) that evaluates to a valid numeric value. ​ So for example, if MyVar contains a text value of `2*3`, then the calculation `4*MyVar` will return 24.+In numeric calculation fields, Variable Names are used without the `%` that are used in text token fields.  Do not try to use tokens (like `%Variable%MyVar%`) in numeric calculation fields, just use MyVar by itself. The variable must contain a valid numeric value, or an expression (v8+) that evaluates to a valid numeric value. ​ So for example, if MyVar contains a text value of `2*3`, then the calculation `4*MyVar` will return 24.
  
 ===== Screen Coordinates ===== ===== Screen Coordinates =====
manual/Calculations.1526526871.txt.gz · Last modified: 2018/05/16 23:14 by JMichaelTX