kdb - 以字符串为参数的函数
问题描述
在 kdb 中,我想要一个将字符串作为参数的函数。
myfunc: {[strParam]
....
}
但是,当我尝试调用该函数时。
q) myfunc["test"]
它抱怨length
错误。该函数似乎"test"
传递了 4 个 char 参数。如何使函数期望一个字符串?
解决方案
kdb 中的字符串被定义为字符列表,因此使用它们的函数必须能够处理这个问题。
q)count "test"
4
您还可以使用符号而不是使用`symbol$"test"
. 符号是原子的且宽度固定,因此可用作字典或表中的键。字符串的某些函数仍然适用于符号,例如
q)upper `test
`TEST
而列表操作将不起作用,您必须string `test
在使用这些操作之前将其转换回字符串。
当抛出长度错误并进入调试模式时,如带有两个括号的 q 提示所示q))
,您可以使用这些函数.z.ex
来显示失败的函数并.z.ey
查看失败的参数来缩小引发错误的部分。
推荐阅读
- angular - 角垫表消除波纹
- azure - 使 Azure 身份验证在没有密码提示的情况下静默运行
- javascript - 如何创建 vuetify 工具栏链接下拉菜单?
- sql - 如何在列中计算 ID 出现的次数?
- python - 无法在 python 可执行文件上加载 mkl_intel_thread.dll
- javascript - javascript 对象未更新为附加值
- typescript - 根据 ps 或 bash 终端有条件地部署功能“预部署”
- css - 如何更改 Bootstrap 弹出箭头的颜色?
- java - 在 Google Dataflow 上使用 KafkaIO 通过 SSL 连接到 Kafka
- swift - 如何通过 Swift 中的闭包设置惰性计算属性的值?