This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
manual:Calculations [2017/09/06 01:35] peternlewis [Variable Dot Notation] |
manual:Calculations [2018/05/16 23:21] JMichaelTX |
||
---|---|---|---|
Line 23: | Line 23: | ||
Operators based on precedence from lowest to highest are: | Operators based on precedence from lowest to highest are: | ||
- | | array separator (,) | separates elements of an array | | + | | 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". | |
- | | 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 | |
- | | comparison operators (<, ≤, =, >, ≥, ≠) | compare for (in)equality and return 0 or 1 | | + | | Comparison Operators (`<, ≤, =, >, ≥, ≠`) | compare for (in)equality and return 0 or 1 | |
- | | shift operators (≪, ≫) | shift a number left or right | | + | | Shift Operators (`≪, ≫`) | shift a number left or right | |
- | | addition operators (+, -) | add or subtract | | + | | Arithmetic Operators\\ • Add (`+`)\\ • Subtract (`-`)\\ • Multiply (`*`)\\ • Divide (`/`) | A mathematical function that takes two operands and performs a calculation on them. | |
- | | multiplication operators (*, /, MOD) | multiply, divide or [Modulo](https://en.wikipedia.org/wiki/Modulo_operation) | | + | | [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 (√ (Option-V), -, brackets) | square root, negation, sub-expressions | | + | | Unary Prefix Operators (`√`, `-`, `( )` ) | square root, negation, sub-expressions | |
- | | functions | a large variety of functions | | + | | 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 | |
- | | numbers and variables or array accesses (5,$5A,0x50,8#007,Variable,Variable[5]) | identifiers and values | | + | | Numbers and Variables or Array Accesses (5,$5A,0x50,8#007,Variable,Variable[5])\\ FIXME -- this is clear as mud. | identifiers and values | |
- | | unary postfix operators (!,%,° (Option-Shift-8)) | factorial, percent, degrees | | + | | Unary Postfix Operators (`!,%,°`)) | factorial, percent, degrees | |
You can use either `=` or `==` (v8+) for testing for equality. | You can use either `=` or `==` (v8+) for testing for equality. | ||
Line 48: | Line 48: | ||
===== 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 ===== | ||
Line 118: | Line 118: | ||
SCREEN(Internal,Left,10%) | SCREEN(Internal,Left,10%) | ||
</code> | </code> | ||
+ | |||
+ | --- | ||
+ | |||
+ | **KeyWords:** MOD, Modulo |