String Ada字符串到枚举的转换

String Ada字符串到枚举的转换,string,enums,ada,String,Enums,Ada,我希望将现有字符串强制转换为枚举(而不是将其作为枚举读入)。我如何才能做到这一点?示例: -- type declaration type Hands is (Left, Right); -- code body Hand : Hands; Hand := Hands'Value("Left"); -- yields `Left` 别忘了,如果通过“lef”,值操作将失败。您可以通过使用“Image&迭代标量类型”来检查字符串是否可转换,如果您得到一个true,则使用“Value”来转换它。

我希望将现有字符串强制转换为枚举(而不是将其作为枚举读入)。我如何才能做到这一点?

示例:

-- type declaration
type Hands is (Left, Right);

-- code body
Hand : Hands;
Hand := Hands'Value("Left"); -- yields `Left`

别忘了,如果通过“lef”,值操作将失败。您可以通过使用“Image&迭代标量类型”来检查字符串是否可转换,如果您得到一个true,则使用“Value”来转换它。请注意,您可以在此周围放置一个异常处理程序,以捕获字符串与已知枚举名不匹配的错误。在过去,我发现这对于快速和肮脏的用户界面非常方便。