You're seeing just the function parse-exclamation-mark, go back to Cldr.Unit module for more information.
Link to this function

parse!(unit_string, options \\ [])

View Source (since 3.6.0)

Parse a string to create a new unit or raises an exception.

This function attempts to parse a string into a number and unit type. If successful it attempts to create a new unit using

The parsed unit type is un-aliased against all the known unit names for a give locale (or the current locale if no locale is specified). The known aliases for unit types can be returned with MyApp.Cldr.Unit.unit_strings_for/1 where MyApp.Cldr is the name of a backend module.


  • unit string is any string to be parsed and if possible used to create a new t:Cldr.Unit

  • options is a keyword list of options



  • unit or

  • raises an exception


iex> Cldr.Unit.parse! "1kg"!(1, :kilogram)

iex> Cldr.Unit.parse! "1 tages", locale: "de"!(1, :day)

iex> Cldr.Unit.parse!("42 candela per lux")!(42, "candela per lux")

iex> Cldr.Unit.parse!("42 millispangels")
** (Cldr.UnknownUnitError) Unknown unit was detected at "spangels"