enum Colors<red green blue>
say red; # OUTPUT: red
my $foo = "red";
my Colors $color = $foo.(...)
在桩代码中,我应该放置什么代码才能将字符串 "red" 转换为颜色 red?
enum Colors<red green blue>
say red; # OUTPUT: red
my $foo = "red";
my Colors $color = $foo.(...)
在桩代码中,我应该放置什么代码才能将字符串 "red" 转换为颜色 red?
enum
声明符将元素安装在Colors
包下,并提供短名称,因此red
也可以通过Colors::red
进行访问。因此,可以使用包查找语法来完成工作:my Colors $color = Colors::{$foo};
可选提供错误或默认值:
my Colors $color = Colors::{$foo} // die "No such color $foo";