我有一个覆盖另一个操作类中的操作的操作:
method taskwiki-prefix($/ is copy) {
my $prefix = $/.Str;
$prefix ~~ s:g!'|'!!;
make $prefix;
}
Run Code Online (Sandbox Code Playgroud)
替换会引发此错误:
P6opaque: no such attribute '$!made' on type Match in a List when trying to bind a value
如果我注释掉替换,错误就会消失。dd $prefix显示:
Str $prefix = " Tasks ||"
所以它只是一个普通的字符串。
如果我删除:g副词,就不会再出现错误,但是这样做会产生生成值Nil,并且 的输出中不会显示任何内容$<taskwiki-prefix>.made。
在我看来,如果我猜的话,比赛中的换人和动作之间存在一些不良的互动。
有什么解决办法吗?
这是您上一个问题的另一种情况,Raku 语法操作抛出“无法在 Nil 类型对象中绑定属性。您是否忘记了 '.new'?” 使用“make”时出错。在那里,该make函数想要更新$/当前的范围。
替换更新$/,并且:
:g,aList以 , 结尾$/,并且make变得混乱。我提出了一个改进的错误。:g,有一个Matchin$/并附加到它 - 但是,它不再是Match传递到方法中的对象我建议:
($/),这样就不会混淆 的目标make。sub或 private中method,然后调用它。| 归档时间: |
|
| 查看次数: |
85 次 |
| 最近记录: |