Open main menu

Wikibooks β

Ada Programming/Attributes/'Value

< Ada Programming‎ | Attributes


The 'Value attribute is defined for any scalar type. This attribute is a function that parses the string and returns the corresponding type value, if it exists. Leading and trailing spaces are trimmed.

function S'Value (Arg: String) return S'Base;

If the string does not correspond to any value of the type, then the Constraint_Error exception is raised.

There are corresponding attributes for Wide_String and Wide_Wide_String.

Don't confuse this attribute with the Ada Programming/Attributes/'Val attribute.


type My_Enum is (Enum1, Enum2, Enum3);

pragma Assert (My_Enum'Value ("ENUM1")    = Enum1); -- OK
pragma Assert (My_Enum'Value ("  ENUM1 ") = Enum1); -- OK
pragma Assert (My_Enum'Value ("ZOWIE!")   = Enum1); -- Wrong! Constraint_Error is raised

See alsoEdit