gpt4 book ai didi

hash - :exists in raku 意外失败

转载 作者:行者123 更新时间:2023-12-03 16:53:16 27 4
gpt4 key购买 nike

在尝试调试程序代码时,我遇到了以下问题:

(base) hsmyers@BigIron:~$ rlwrap -A raku

To exit type 'exit' or '^D'
> my regex N { <[A..G]> };
regex N { <[A..G]> }
> my %h = A => 1, B => 2;
{A => 1, B => 2}
> 'B' ∈ %h.keys
True
> my $m = 'B' ~~ / <N> /;
「B」
N => 「B」
> $m ∈ %h.keys
False
> $m.Str ∈ %h.keys
True
> my $n = $m.Str
B
> $n ∈ %h.keys
True
> %h<B>:exists
True
> %h<$n>:exists
False
>

总之,问题是你如何从匹配对象到字符串,这样 %whatever:exists 将起作用。 “键元素”提供了一种解决方法,但我认为这不是检查键是否存在的正确方法?

最佳答案

您将匹配项放入 Str使用 ~ 上下文,但我认为问题在于您使用的是文字引号 <>对于一个变量。 %h<$n>返回与文字键 $n 对应的值。您需要使用 %h{$n} 来检索 $n 的内容对应的值.此外,如果 $n 包含 Match它将被放在 Str 上下文中,因此应该可以工作。

关于hash - :exists in raku 意外失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60495101/

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