gpt4 book ai didi

raku - 如何将参数传递给变量引用的 token ?

转载 作者:行者123 更新时间:2023-12-03 15:26:32 25 4
gpt4 key购买 nike

我可以通过直接使用 token 名称来轻松使用 token 签名:

my token t ( $x ) { $x };

'axb' ~~ / 'a' <t: 'x'> 'b' /; # match
'axb' ~~ / 'a' <t( 'x' )> 'b' /; # match

但是,当 token 存储在变量中时,我还没有找到一种方法来执行此操作:
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中没有包含这种情况。

最佳答案

任何一个:

  • 使用jnthn答案中的解决方案,让Raku明确知道您希望将$标记的 token 变量用作 Callable
  • 首先声明变量为Callable,然后在调用中进行相应的更改:
  • my &t = token ( $x ) { $x };

    say 'axb' ~~ / 'a' <&t: 'x'> 'b' /; # 「axb」
    say 'axb' ~~ / 'a' <&t( 'x' )> 'b' /; # 「axb」

    关于raku - 如何将参数传递给变量引用的 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59654897/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com