gpt4 book ai didi

raku - 如何检查某物是否是qw的元素?

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

根据文档,<a b c d e>qw|a b c d e|是相似的,而且它们都列出了列表,这意味着它们应该等效于('a', 'b', 'c', 'd', 'e')

那为什么我不能这样做:'2' (elem) <1 2 3 4 5>
2 (elem) <1 2 3 4 5>也不起作用,但是'a' (elem) <a b c d e>可以。

这是怎么回事?我不应该像其他任何东西一样检查数字的存在吗?

最佳答案

如果您这样做:

<1 2 3 4 5>.raku.say

您将看到它创建了一个IntStr对象的列表(这些对象可以是String或Integer)。当将它们放在集合中时,我们将获得一个IntStr对象集。

问题是 (elem)不使用智能匹配,而是等效的,而且 Int 1String "1"都不等效于 IntStr.new(1, "1")。他们都与IntStr进行智能匹配...

您可能想使用 first来找到针头:
defined <1 2 3 4 5>.first( 2, :k )
first( $match, :k )返回第一个匹配项的索引,如果不匹配,则返回 Nil。因此,我们进行测试以查看是否已定义它,以及是否存在。

或者,您可以使用 map将列表转换为String ot Integers。
2 (elem) <1 2 3 4 5>.map( *.Int )

关于raku - 如何检查某物是否是qw的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62133024/

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