说我有一个清单
list:(`a`b;`ac`d;`e`af)
我想搜索所有要提供的符号,例如a
(`a;`ac;`af)
我该怎么办?
如果我尝试使用
list where each list like "*c*"
(没有一个都适用于平面列表)我遇到了type
错误
谢谢
答案 0 :(得分:4)
您的方法即将来临-like
在平面列表上可以很好地工作,但是需要告诉您对左参数的每个元素进行操作:
q)list like\:"*c*"
00b
10b
00b
然后,您可以使用where each
并分别应用到{'
)的初始列表的每个元素上:
q)list@'where each list like\:"*c*"
`symbol$()
,`ac
`symbol$()
这仅返回与每个元素中的like
右参数匹配的元素,因此返回了空列表。
答案 1 :(得分:2)
在寻找任何事件时,似乎您并不在乎位置,可以在此处使用raze
。它会为您提供所需的结果。
q)list:(`a`b;`ac`d;`e`af)
q){r where (r:raze x) like y}[list;"a*"]
`a`ac`af