gpt4 book ai didi

raku - 在 Perl 6 中用字符串值创建一个数组

转载 作者:行者123 更新时间:2023-12-05 01:36:31 26 4
gpt4 key购买 nike

这就是我想要做的。应该很简单,但是不知道怎么正确操作。

> my @search_keys = <bb cc dd>
[bb cc dd]
> my $search_junc = @search_keys.join('|')
bb|cc|dd
> "bb" eq $search_junc
False

最佳答案

my @search_keys = <bb cc dd>;
say "bb" eq any(@search_keys); # any(True, False, False)
say so "bb" eq any(@search_keys); # True

|语法只是调用 any() 的糖。功能。就像 &all() 的语法糖功能。他们都返回 Junction s,你可以用例如折叠它so功能。当然,如果你要在条件中使用它,你不需要自己折叠它,Bool条件化将为您做到这一点:

say "found" if "bb" eq any(@search_keys);

另请参阅:https://docs.raku.org/type/Junction

编辑(2 年后):

如果您对列表 ( "bb" ) 中给定对象 ( <bb cc dd> ) 的简单等价感兴趣,您还可以为此使用集合运算符:

say "found" if "bb" (elem) @search_keys;  # found

从技术上讲,这将在 .WHICH 上进行比较给定的字符串。更重要的是,一旦找到匹配项,这个成语就会走捷径。所以因为在你的例子中 "bb"是数组中的第一个元素,它只会检查那个元素。而且它不需要构建任何额外的对象,例如 Junction (在第一个解决方案中)或 Set (在第二种解决方案中)。

关于raku - 在 Perl 6 中用字符串值创建一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46927870/

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