Tôi có thể dễ dàng sử dụng chữ ký mã thông báo bằng cách sử dụng tên mã thông báo trực tiếp:
my token t ( $x ) { $x };
'axb' ~~ / 'a' <t: 'x'> 'b' /; # match
'axb' ~~ / 'a' <t( 'x' )> 'b' /; # match
Tuy nhiên tôi chưa tìm thấy cách nào để làm điều này, khi mã thông báo được lưu trữ trong biến:
my $t = token ( $x ) { $x };
'axb' ~~ / 'a' <$t: 'x'> 'b' /;
'axb' ~~ / 'a' <$t( 'x' )> 'b' /;
Cả hai cho:
===SORRY!=== Error while compiling ...
Unable to parse expression in metachar:sym<assert>; couldn't find final '>'
Cú pháp kỳ diệu để làm điều đó là gì?
BTW: Tôi thậm chí đã duyệt bộ thử nghiệm Raku và nó không bao gồm trường hợp như vậy roast/S05-grammar/signatures.t
.
&
các biến.