gpt4 book ai didi

error-handling - KDB : try-catch over a list and return list of fails

转载 作者:行者123 更新时间:2023-12-03 07:45:18 24 4
gpt4 key购买 nike

我想运行该功能

{`Security$x}



在 list 上

order`KDB_SEC_ID



并返回失败的值列表。我有下面的工作,但我想知道是否有一种更整洁的方式编写此不使用do循环。

示例代码:
idx:0; 
fails:();
do[count (order`KDB_SEC_ID);
error:@[{`Security$x};(order`KDB_SEC_ID)[idx];0Nj];
if[error=0Nj;fails:fails,(order`KDB_SEC_ID)[idx]];
idx:idx+1;
];
missingData:select from order where KDB_SEC_ID in distinct fails;

最佳答案

我同意Terry的答案是最简单的方法,但是这是一种更简单的方法,可以帮助您了解如何在不使用do循环的情况下实现该方法

q)SECURITY
`AAPL`GOOG`MSFT

q)order
KDB_SEC_ID val
--------------
AAPL 1
GOOG 2
AAPL 3
MSFT 4
IBM 5

q)order where @[{`SECURITY$x;0b};;1b] each order`KDB_SEC_ID
KDB_SEC_ID val
--------------
IBM 5

如果通过则输出 0b,如果失败则输出 1b,并生成 bool(boolean) 列表。在 bool(boolean) 列表上使用 where会返回出现 1b的索引,您可以使用该索引来索引 order以返回失败的行。

关于error-handling - KDB : try-catch over a list and return list of fails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52389142/

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