'\" t .\" Copyright (c) 2025 Bruce Hill .\" All rights reserved. .\" .TH Int.parse 3 2025-11-30 "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,\ base:\ Int?\ =\ none,\ 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. - base Int? The numeric base to use when parsing the integer. If unspecified, the integer's base will be inferred from the text prefix. After any "+" or "-" sign, if the text begins with "0x", the base will be assumed to be 16, "0o" will assume base 8, "0b" will assume base 2, otherwise the base will be assumed to be 10. none 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 # Explicitly specifying base: assert Int.parse("10", base=16) == 16 .EE .SH SEE ALSO .BR Tomo-Int (3)