我试着做一个逻辑的否定操作符。
¬ True;
multi sub prefix:<¬> ($n) {
return not $n;
}当我运行上面的程序时,它会返回以下错误:
$ perl6 test.pl6 ===SORRY!===编译/home/devXYZ/test.pl6虚假语句时出错/home/devXYZ/test.pl6:1
有人知道原因是什么吗?
发布于 2018-03-25 00:49:44
新操作符的声明必须出现在其使用之前。将程序更改为:
multi sub prefix:<¬> ($n) {
return not $n;
}
say ¬ True;让它正常工作。
Perl 6有严格的一次解析规则.因此,任何影响被解析的语言的事物,比如引入类型或新的运算符,都会影响到顺序。
https://stackoverflow.com/questions/49470970
复制相似问题