(40 lines)
1 '\" t2 .\" Copyright (c) 2026 Bruce Hill3 .\" All rights reserved.4 .\"5 .TH List.random 3 2026-03-14 "Tomo man-pages"6 .SH NAME7 List.random \- pick a random element8 .SH LIBRARY9 Tomo Standard Library10 .SH SYNOPSIS11 .nf12 .BI List.random\ :\ func(list:\ [T],\ random:\ func(min,max:Int64->Int64)?\ =\ none\ ->\ T?)13 .fi14 .SH DESCRIPTION15 Selects a random element from the list.18 .SH ARGUMENTS20 .TS21 allbox;22 lb lb lbx lb23 l l l l.24 Name Type Description Default25 list [T] The list from which to select a random element. -26 random func(min,max:Int64->Int64)? If provided, this function will be used to get a random index in the list. Returned values must be between \fBmin\fR and \fBmax\fR (inclusive). (Used for deterministic pseudorandom number generation) none27 .TE28 .SH RETURN29 A random element from the list or `none` if the list is empty.31 .SH EXAMPLES32 .EX33 nums := [10, 20, 30]34 pick := nums.random()!35 assert nums.has(pick)36 empty : [Int]37 assert empty.random() == none38 .EE39 .SH SEE ALSO40 .BR Tomo-List (3)