aboutsummaryrefslogtreecommitdiff
path: root/man/man3/tomo-Int.parse.3
blob: df3888dbf7ae53bcaacab8c6dd92270279b6d739 (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
42
43
44
45
46
47
'\" t
.\" Copyright (c) 2025 Bruce Hill
.\" All rights reserved.
.\"
.TH Int.parse 3 2025-11-29 "Tomo man-pages"
.SH NAME
Int.parse \- convert text to integer
.SH LIBRARY
Tomo Standard Library
.SH SYNOPSIS
.nf
.BI Int.parse\ :\ func(text:\ Text,\ remainder:\ &Text?\ =\ none\ ->\ Int?)
.fi
.SH DESCRIPTION
Converts a text representation of an integer into an integer.


.SH ARGUMENTS

.TS
allbox;
lb lb lbx lb
l l l l.
Name	Type	Description	Default
text	Text	The text containing the integer. 	-
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
The integer represented by the text. If the given text contains a value outside of the representable range or if the entire text can't be parsed as an integer, `none` will be returned.

.SH EXAMPLES
.EX
assert Int.parse("123") == 123
assert Int.parse("0xFF") == 255
assert Int.parse("123xyz") == none
remainder : Text
assert Int.parse("123xyz", &remainder) == 123
assert remainder == "xyz"

# Can't parse:
assert Int.parse("asdf") == none

# Outside valid range:
assert Int8.parse("9999999") == none
.EE
.SH SEE ALSO
.BR Tomo-Int (3)