这个新问题是我之前提出的问题的后续问题,是在我充实内容时出现的。请注意,我也做了一些研究,并且有意识地避开了这里提到的 Scalar Mixins bug 。因此,我将角色混合到对象中,而不是标量容器中。
大局是进行数学运算,同时也执行简单的误差计算。
这是我的失败代码的简洁版本:
1 role Error {
2 has $.abs-error
3 }
4
5 multi prefix:<-> ( Error:D $x ) is default {
6 # - $x; # fails - enters an infinite loop
7 # - $x.Real; # fails - does not drop the Error mixin
8 ( 0 - $x ) does Error($x.abs-error) # works - but relies on the infix:<-> form
9 }
10
11 my $dog = 12.5 does …Run Code Online (Sandbox Code Playgroud)