hash - 在 Raku 中对哈希键和值使用任何或不使用
问题描述
我正在尝试在这样的哈希的键或值上使用any
or :none
my %w=(a => 1, b => 2);
say %w.keys; # works
say so 'a' == %w.keys.any; # doesn't work
我检查了 Raku 文档的 hash and 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
推荐阅读
- javascript - 如何键入将使用 Typescript 推断参数的函数?
- linux - 为什么交叉编译时不需要指定操作系统版本?
- javascript - 验证 Firebase 实时 URL 是否来自 Firebase 存储
- nginx - K8S Ingress 控制器、证书管理器和 LetsEncrypt SSL 不起作用
- scala - 如何将字符串列表或数组作为列添加到 Spark Dataframe
- python - 如何在 python 中解释 f_regression 输出
- php - php将日期转换为int整数
- c++ - 从类型列表生成纯虚函数和实现
- postgresql - 为什么与 docker 容器内的 adminer 的连接卡在无限加载中?
- dstore - 如何缓存 dstore 的过滤结果以进行客户端分页?