如何将字符串转换为枚举类型?

14
enum Colors<red green blue>

say red;  # OUTPUT: red

my $foo = "red";

my Colors $color = $foo.(...)

在桩代码中,我应该放置什么代码才能将字符串 "red" 转换为颜色 red?


这个回答解决了您的问题吗?通过枚举名称创建枚举,而不是值 - Julia
1个回答

17
enum声明符将元素安装在Colors包下,并提供短名称,因此red也可以通过Colors::red进行访问。因此,可以使用包查找语法来完成工作:
my Colors $color = Colors::{$foo};

可选提供错误或默认值:

my Colors $color = Colors::{$foo} // die "No such color $foo";

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接