Skip to main content

Array.flat_map

flat_mapfunctionon_problems

Documentation

Applies a function to each element of the array, returning the Vector that contains all results concatenated.

Arguments

  • function: A function that takes an element in the array, transforms it, and returns a Vector.
  • on_problems: Specifies how to handle any problems that arise in function.

Examples

Replace each number n in the array with itself repeated n times.

     [0, 1, 2].to_array . flat_map (n -> Vector.fill n n)

Errors

The result of Errors thrown when executing the function depend on on_problems:

  • Report_Error: The first error is thrown, and is wrapped in Map_Error.
  • No_Wrap: The first error is thrown, and is not wrapped in Map_Error.
  • Report_Warning: The result for that element is Nothing, the error is attached as a warning. Currently unimplemented.
  • Ignore: The result is Nothing, and the error is ignored.

Errors that are thrown when executing the supplied function are wrapped in Map_Error, which contains the index at which the error occurred.

In the Report_Warning case, only MAX_MAP_WARNINGS warnings are attached to result values. After that, the warnings are dropped, but a count of the additional warnings is attached in an Additional_Warnings warning.