使用以下代码:
use v6d;
# sub circumfix:<α ω>( @a ) {
# @a[0] >= @a[1] & @a[0] <= @a[2];
# };
sub circumfix:<α ω>( $a, $b, $c ) {
$a >= $b & $a <= $c;
};
if (α <5 0 10> ω) {
say 'Truthy';
}
else {
say 'Falsey';
}
在以下方面的成果:
(base) hsmyers@BigIron:~/board$ perl6 ./op.p6
Too few positionals passed; expected 3 arguments but got 1
in sub circumfix:<α ω> at ./op.p6 line 7
in block <unit> at ./op.p6 line 11
而将注释块切换为其他定义会导致:
(base) hsmyers@BigIron:~/board$ perl6 ./op.p6
Truthy
破碎的版本(有三个参数)是我想要的,有人能解释一下为什么它坏了吗?
发布于 2019-12-08 20:50:22
发布于 2019-12-08 20:45:45
D:\>6e "say <5 0 10>"
(5 0 10)
这不是三个论点。它是三个值(类型为IntStr
)的列表,因此是一个参数。
https://stackoverflow.com/questions/59239380
复制相似问题