【发布时间】:2021-09-07 05:07:38
【问题描述】:
Raku 类型的枚举应该与自定义类型一起使用吗?尝试以下操作时出现编译错误:
role A { }
class B does A { }
class C does A { }
my A enum E ( b => B, c => C );
结果
在 Perl6::Metamodel::ParametricRoleGroupHOW 类型的对象上找不到方法“mro”
和
class D { }
my D enum F ( b => D.new, c => D.new );
结果
无法在设置中为“Int”自动生成原型方法
或者这属于
不支持生成键值对的复杂表达式。
编辑
关于第一个示例 - 看起来 Raku 不喜欢角色作为类型约束。尝试时出现相同的错误,例如
my Rational enum G ( one => 1/1, two => 1/2 );
至于我真正希望的是什么:
使用类型对象作为尚未实现的枚举的值。对不起。
【问题讨论】:
-
This link says "所有的键必须是同一类型"。我不是 Raku 专家,所以我不确定这是否是问题所在,但似乎有可能?