code / tomo

Lines41.3K C23.7K Markdown9.7K YAML5.0K Tomo2.3K
7 others 763
Python231 Shell230 make212 INI47 Text21 SVG16 Lua6
(42 lines)
1 '\" t
2 .\" Copyright (c) 2026 Bruce Hill
3 .\" All rights reserved.
4 .\"
5 .TH Text.by_split_any 3 2026-03-08 "Tomo man-pages"
6 .SH NAME
7 Text.by_split_any \- iterate by one of many splitting characters
8 .SH LIBRARY
9 Tomo Standard Library
10 .SH SYNOPSIS
11 .nf
12 .BI Text.by_split_any\ :\ func(text:\ Text,\ delimiters:\ Text\ =\ "\ $\[rs]t\[rs]r\[rs]n"\ ->\ func(->Text?))
13 .fi
14 .SH DESCRIPTION
15 Returns an iterator function that can be used to iterate over text separated by one or more characters (grapheme clusters) from a given text of delimiters.
18 .SH ARGUMENTS
20 .TS
21 allbox;
22 lb lb lbx lb
23 l l l l.
24 Name Type Description Default
25 text Text The text to be iterated over in delimited chunks. -
26 delimiters Text Grapheme clusters to use for splitting the text. "\ $\[rs]t\[rs]r\[rs]n"
27 .TE
28 .SH RETURN
29 An iterator function that returns one chunk of text at a time, separated by the given delimiter characters, until it runs out and returns `none`.
31 .SH NOTES
32 Splitting will occur on every place where one or more of the grapheme clusters in `delimiters` occurs.
33 To split based on an exact delimiter, use Text.by_split().
35 .SH EXAMPLES
36 .EX
37 text := "one,two,;,three"
38 chunks := [chunk for chunk in text.by_split_any(",;")]
39 assert chunks == ["one", "two", "three"]
40 .EE
41 .SH SEE ALSO
42 .BR Tomo-Text (3)