blob: 5a7432fdd8ebe9d571a72fa2e8d69612cd9f27e1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
% API
# Builtins
# Bool
## Bool.parse
```tomo
Bool.parse : func(text: Text, remainder: &Text? = none -> Bool?)
```
Converts a text representation of a boolean value into a boolean. Acceptable boolean values are case-insensitive variations of `yes`/`no`, `y`/`n`, `true`/`false`, `on`/`off`.
Argument | Type | Description | Default
---------|------|-------------|---------
text | `Text` | The string containing the boolean value. | -
remainder | `&Text?` | If non-none, this argument will be set to the remainder of the text after the matching part. If none, parsing will only succeed if the entire text matches. | `none`
**Return:** `yes` if the string matches a recognized truthy boolean value; otherwise return `no`.
**Example:**
```tomo
assert Bool.parse("yes") == yes
assert Bool.parse("no") == no
assert Bool.parse("???") == none
assert Bool.parse("yesJUNK") == none
remainder : Text
assert Bool.parse("yesJUNK", &remainder) == yes
assert remainder == "JUNK"
```
|