Je peux facilement utiliser des signatures de jeton en utilisant directement le nom du jeton:
my token t ( $x ) { $x };
'axb' ~~ / 'a' <t: 'x'> 'b' /; # match
'axb' ~~ / 'a' <t( 'x' )> 'b' /; # match
Cependant, je n'ai pas trouvé de moyen de le faire, lorsque le jeton est stocké dans une variable:
my $t = token ( $x ) { $x };
'axb' ~~ / 'a' <$t: 'x'> 'b' /;
'axb' ~~ / 'a' <$t( 'x' )> 'b' /;
Les deux donnent:
===SORRY!=== Error while compiling ...
Unable to parse expression in metachar:sym<assert>; couldn't find final '>'
Quelle est la syntaxe magique pour faire ça?
BTW: J'ai même parcouru la suite de tests Raku et elle n'inclut pas ce cas dans roast/S05-grammar/signatures.t
.
&
variables.Placez un
&
avant la variable:L'analyseur recherche le
&
, puis délègue la règle d'analyse de variable Raku, qui analysera avec plaisir un contextualiseur comme celui-ci.la source