Sử dụng mã sau:
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';
}
Kết quả trong:
(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
Trong khi chuyển đổi khối nhận xét cho kết quả định nghĩa khác trong:
(base) hsmyers@BigIron:~/board$ perl6 ./op.p6
Truthy
Phiên bản bị hỏng (có ba tham số) là phiên bản tôi muốn, ai đó có thể giải thích tại sao nó bị hỏng không?
(*@foo where .elems == 3)
mà sau đó có thể hỗ trợα $a, $b, $c ω
hoặcα ($a, $b, $c) ω