aboutsummaryrefslogtreecommitdiff
path: root/man/man3/tomo-Bool.parse.3
blob: 8fe9f2dd0dd7002b6b28f64a387addd84d4bb6b6 (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
34
35
36
37
38
39
40
41
'\" t
.\" Copyright (c) 2025 Bruce Hill
.\" All rights reserved.
.\"
.TH Bool.parse 3 2025-09-21 "Tomo man-pages"
.SH NAME
Bool.parse \- parse into boolean
.SH LIBRARY
Tomo Standard Library
.SH SYNOPSIS
.nf
.BI Bool.parse\ :\ func(text:\ Text,\ remainder:\ &Text?\ =\ none\ ->\ Bool?)
.fi
.SH DESCRIPTION
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`.


.SH ARGUMENTS

.TS
allbox;
lb lb lbx lb
l l l l.
Name	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
.TE
.SH RETURN
`yes` if the string matches a recognized truthy boolean value; otherwise return `no`.

.SH EXAMPLES
.EX
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"
.EE