Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在kdb中将单例列表取消列出到原子_Kdb - Fatal编程技术网

在kdb中将单例列表取消列出到原子

在kdb中将单例列表取消列出到原子,kdb,Kdb,很多时候,我都会遇到像这样的单身人士名单 ,1b ,0Nd 为了将单例列表转换成原子,我总是使用第一个操作符。 例如: 我确信一定有更好的方法将单例列表转换为原子,但我找不到。有人能告诉我如何将单例列表取消到atom吗?老实说,first是最好的操作符。您可以索引到列表中,但这最多也可能有相同的性能 如果您想将单例列表可靠地转换为原子,可以使用以下方法 q)conform:{$[0< type x;$[1=count x;first x;x];x]} q)conform a 0Nd q

很多时候,我都会遇到像这样的单身人士名单

,1b 
,0Nd
为了将单例列表转换成原子,我总是使用第一个操作符。 例如:


我确信一定有更好的方法将单例列表转换为原子,但我找不到。有人能告诉我如何将单例列表取消到atom吗?

老实说,
first
是最好的操作符。您可以索引到列表中,但这最多也可能有相同的性能

如果您想将单例列表可靠地转换为原子,可以使用以下方法

q)conform:{$[0< type x;$[1=count x;first x;x];x]}
q)conform a
0Nd
q)conform 3i
3i
q)conform 1 2 3
1 2 3
q)符合:{$[0

您对
first
的关注点是什么,它尽可能简单易懂

我对first没有任何关注。由于first-in的主要工作不是从单例列表转换到atom,因此我想了解是否有任何操作符或方法的主要工作是从单例列表转换到atom。感谢您的快速回复!kdb操作符的负载非常重,很少有具有“主作业”的操作符。在这种情况下,我不同意,将一个已登记的原子转换为一个原子需要提取列表的第一项,这就是第一项的用途。kdb的开发是以结果为导向的,不要回避使用在特定情况下最有效的操作符。完全同意你的观点。谢谢第一次索引与直接索引的另一个考虑因素是,第一次索引不要求您知道条目的类型,因此无需担心如何索引到条目中。如果它是一个列表,则索引到0将始终产生一个结果,并将提取第一项,即使它本身是0h类型。但是,如果对象是数字原子,则会导致尝试写入句柄
q)conform:{$[0< type x;$[1=count x;first x;x];x]}
q)conform a
0Nd
q)conform 3i
3i
q)conform 1 2 3
1 2 3