给出枚举
enum NATO (:alpha<A>, :bravo<B>, :charlie<C>, :delta<D>);
Run Code Online (Sandbox Code Playgroud)
可以通过直接键入名称之一或将值之一传递给枚举对象来轻松设置变量:
my $a = alpha;
my $b = NATO('B');
say $a; # ?? alpha
say $b; # ?? bravo
say $a.value; # ?? A
say $b.value; # ?? B
Run Code Online (Sandbox Code Playgroud)
除了使用EVAL并给定Str对应于枚举之一的a 之外,如何创建$c等于的枚举值charlie?
my $x = 'charlie';
my $c = ...
Run Code Online (Sandbox Code Playgroud)
Cur*_*mes 11
您可以将其视为哈希:
my $c = NATO::{$x};
Run Code Online (Sandbox Code Playgroud)
您可以使用间接名称查找:
enum NATO (:alpha<A>, :bravo<B>, :charlie<C>);
my $x = 'charlie';
my $c = ::($x);
say $c.value;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
252 次 |
| 最近记录: |