我可以通过直接使用令牌名称来轻松使用令牌签名:
my token t ( $x ) { $x };
'axb' ~~ / 'a' <t: 'x'> 'b' /; # match
'axb' ~~ / 'a' <t( 'x' )> 'b' /; # match
但是,当令牌存储在变量中时,我还没有找到一种方法来执行此操作:
my $t = token ( $x ) { $x };
'axb' ~~ / 'a' <$t: 'x'> 'b' /;
'axb' ~~ / 'a' <$t( 'x' )> 'b' /;
两者都给:
===SORRY!=== Error while compiling ...
Unable to parse expression in metachar:sym<assert>; couldn't find final '>'
这样做的神奇语法是什么?
顺便说一句:我什至浏览了Raku测试套件,并且在中没有包含这种情况roast/S05-grammar/signatures.t
。
&
变量中。