gpt4 book ai didi

enums - 从名称而不是值创建枚举

转载 作者:行者123 更新时间:2023-12-04 03:06:19 25 4
gpt4 key购买 nike

给出枚举

enum NATO (:alpha<A>, :bravo<B>, :charlie<C>, :delta<D>);

可以通过直接键入名称之一或将值之一传递给枚举对象来轻松设置变量:
my $a = alpha;
my $b = NATO('B');

say $a; # ↪︎ alpha
say $b; # ↪︎ bravo
say $a.value; # ↪︎ A
say $b.value; # ↪︎ B

除了使用 EVAL并给定对应于枚举之一的 Str之外,如何将 $c创建为等于 charlie的枚举值?
my $x = 'charlie';
my $c = ...

最佳答案

您可以使用间接名称查找:

enum NATO (:alpha<A>, :bravo<B>, :charlie<C>);
my $x = 'charlie';
my $c = ::($x);
say $c.value;

关于enums - 从名称而不是值创建枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55769656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com