hash - 在 Raku 中对哈希键和值使用 any 或 none

标签 hash raku

我试图在这样的散列的键或值上使用 anynone :

my %w=(a => 1, b => 2);
say %w.keys; # works
say so 'a' == %w.keys.any; # doesn't work

我已经检查了 Raku 文档的哈希和 map 部分,但无法解决这个问题。如何解决?谢谢。

最佳答案

代码是这样死的:

Cannot convert string to number: base-10 number must begin with
valid digits or '.' in '⏏a' (indicated by ⏏)

发生这种情况是因为 == 是数字比较运算符,因此它首先尝试将参数强制转换为数字,然后再进行比较。

哈希键 - 至少在默认情况下 - 是字符串,因此这里需要用于字符串比较的 eq 运算符:
my %w=(a => 1, b => 2);
say so 'a' eq %w.keys.any; # True

关于hash - 在 Raku 中对哈希键和值使用 any 或 none,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59683374/

相关文章:

ruby : Generate a Hash of Hashes from an Array of Hashes

python - 在 python 中使用 id() 比较列表(整数)

scope - perl6 subs 真的是词法范围还是有额外的?

types - 位置参数的类型捕获

bioinformatics - 使用 perl 6 计算 DNA 核苷酸

c# - 这是在 Db 中加盐和存储密码的方法吗?

javascript - url 哈希更改时强制重新加载

security - 混淆安全模型在密码安全中占有一席之地吗?

regex - 在 Raku 中查找重复数字的优雅方法(née Perl 6)

raku - 在 Perl 6 中是导出和绑定(bind)