123456789101112131415161718192021222324 |
- local Table = {}
- --- Find the first entry for which the predicate returns true.
- -- @param t The table
- -- @param predicate The function called for each entry of t
- -- @return The entry for which the predicate returned True or nil
- function Table.find_first(t, predicate)
- for _, entry in pairs(t) do
- if predicate(entry) then
- return entry
- end
- end
- return nil
- end
- --- Check if the predicate returns True for at least one entry of the table.
- -- @param t The table
- -- @param predicate The function called for each entry of t
- -- @return True if predicate returned True at least once, false otherwise
- function Table.contains(t, predicate)
- return Table.find_first(t, predicate) ~= nil
- end
- return Table
|