Marcel van Lohuizen | 75cb003 | 2019-01-11 12:10:48 +0100 | [diff] [blame] | 1 | [TOC](Readme.md) [Prev](numbers.md) [Next](rangedef.md) |
| 2 | |
Marcel van Lohuizen | 3e592b4 | 2019-01-11 20:31:29 +0100 | [diff] [blame] | 3 | _Types ~~and~~ are Values_ |
Marcel van Lohuizen | af0932f | 2019-01-11 13:03:56 +0100 | [diff] [blame] | 4 | |
Marcel van Lohuizen | 62b8727 | 2019-02-01 10:07:49 +0100 | [diff] [blame] | 5 | # Bounds |
Marcel van Lohuizen | 75cb003 | 2019-01-11 12:10:48 +0100 | [diff] [blame] | 6 | |
Marcel van Lohuizen | 62b8727 | 2019-02-01 10:07:49 +0100 | [diff] [blame] | 7 | Bounds define a lower bound, upper bound, or inequality for a certain value. |
| 8 | They work on numbers, strings, bytes, and and null. |
Marcel van Lohuizen | 75cb003 | 2019-01-11 12:10:48 +0100 | [diff] [blame] | 9 | |
Marcel van Lohuizen | 62b8727 | 2019-02-01 10:07:49 +0100 | [diff] [blame] | 10 | The bound is defined for all values for which the corresponding comparison |
| 11 | operation is define. |
| 12 | For instance `>5.0` allows all floating point values greater than `5.0`, |
| 13 | whereas `<0` allows all negative numbers (int or float). |
Marcel van Lohuizen | 75cb003 | 2019-01-11 12:10:48 +0100 | [diff] [blame] | 14 | |
| 15 | <!-- CUE editor --> |
| 16 | ``` |
Marcel van Lohuizen | 62b8727 | 2019-02-01 10:07:49 +0100 | [diff] [blame] | 17 | rn: >=3 & <8 // type int | float |
| 18 | ri: >=3 & <8 & int // type int |
| 19 | rf: >=3 & <=8.0 // type float |
| 20 | rs: >="a" & <"mo" |
Marcel van Lohuizen | 75cb003 | 2019-01-11 12:10:48 +0100 | [diff] [blame] | 21 | |
| 22 | { |
| 23 | a: rn & 3.5 |
| 24 | b: ri & 3.5 |
| 25 | c: rf & 3 |
Marcel van Lohuizen | e71fec6 | 2019-01-30 21:28:32 +0100 | [diff] [blame] | 26 | d: rs & "ma" |
| 27 | e: rs & "mu" |
Marcel van Lohuizen | 75cb003 | 2019-01-11 12:10:48 +0100 | [diff] [blame] | 28 | |
Marcel van Lohuizen | 62b8727 | 2019-02-01 10:07:49 +0100 | [diff] [blame] | 29 | r1: rn & >=5 & <10 |
Marcel van Lohuizen | 75cb003 | 2019-01-11 12:10:48 +0100 | [diff] [blame] | 30 | } |
| 31 | ``` |
| 32 | |
| 33 | <!-- result --> |
| 34 | ``` |
| 35 | a: 3.5 |
| 36 | b: _|_ |
Marcel van Lohuizen | e71fec6 | 2019-01-30 21:28:32 +0100 | [diff] [blame] | 37 | c: 3.0 |
Marcel van Lohuizen | 75cb003 | 2019-01-11 12:10:48 +0100 | [diff] [blame] | 38 | d: "ma" |
| 39 | e: _|_ |
Marcel van Lohuizen | 62b8727 | 2019-02-01 10:07:49 +0100 | [diff] [blame] | 40 | r1: >=5 & <8 |
Jonathan Amsterdam | e479038 | 2019-01-20 10:29:29 -0500 | [diff] [blame] | 41 | ``` |