code / tomo

Lines41.3K C23.7K Markdown9.7K YAML5.0K Tomo2.3K
7 others 763
Python231 Shell230 make212 INI47 Text21 SVG16 Lua6
(37 lines)
1 '\" t
2 .\" Copyright (c) 2026 Bruce Hill
3 .\" All rights reserved.
4 .\"
5 .TH List.where 3 2026-03-08 "Tomo man-pages"
6 .SH NAME
7 List.where \- find an index where a predicate matches
8 .SH LIBRARY
9 Tomo Standard Library
10 .SH SYNOPSIS
11 .nf
12 .BI List.where\ :\ func(list:\ [T],\ predicate:\ func(item:&T\ ->\ Bool)\ ->\ Int)
13 .fi
14 .SH DESCRIPTION
15 Find the index of the first item that matches a predicate function (if any).
18 .SH ARGUMENTS
20 .TS
21 allbox;
22 lb lb lbx
23 l l l.
24 Name Type Description
25 list [T] The list to search through.
26 predicate func(item:&T -> Bool) A function that returns \fByes\fR if the item's index should be returned or \fBno\fR if it should not.
27 .TE
28 .SH RETURN
29 Returns the index of the first item where the predicate is true or `none` if no item matches.
31 .SH EXAMPLES
32 .EX
33 assert ["BC", "ABC", "CD"].where(func(t:&Text) t.starts_with("A")) == 2
34 assert ["BC", "ABC", "CD"].where(func(t:&Text) t.starts_with("X")) == none
35 .EE
36 .SH SEE ALSO
37 .BR Tomo-List (3)