List 在没有数据类型的kdb中创建空列表
我学习KDB已经有一段时间了&现在需要您的帮助。 我们可以使用以下语法创建空列表: mylistname:0# 例如:List 在没有数据类型的kdb中创建空列表,list,kdb,List,Kdb,我学习KDB已经有一段时间了&现在需要您的帮助。 我们可以使用以下语法创建空列表: mylistname:0# 例如: q)myEmptySymbolList:0#` q)myEmptySymbolList `symbol$() q)type myEmptySymbolList 11h q)myEmptyFloatList:0#0n q)myEmptyFloatList `float$() q)type myEmptyFloatList 9h q)myEmptyDateList:0#0Nd
q)myEmptySymbolList:0#`
q)myEmptySymbolList
`symbol$()
q)type myEmptySymbolList
11h
q)myEmptyFloatList:0#0n
q)myEmptyFloatList
`float$()
q)type myEmptyFloatList
9h
q)myEmptyDateList:0#0Nd
q)myEmptyDateList
`date$()
q)type myEmptyDateList
14h
但当我们不指定数据类型时,它会创建如下所示的投影函数类型列表
q)myEmptyTypeList:0#
q)myEmptyTypeList
#[0]
q)type myEmptyTypeList
104h
我有点困惑,为什么它会创建投影函数类型的列表?
若我想创建其他函数类型的列表,那个么我们如何做到这一点(比如)&在开发中我们可以在哪里使用函数列表
谢谢,
Vajindar.在kdb中,对标量或原子值进行零计数(如
0#1
)实际上是创建空列表的捷径
使用此快捷方式可能很有用,但出于一般目的,您可以从通用列表开始:()
然后,您可以使用$
和符号、字符或短字符来强制转换此列表:
q)`int$()
`int$()
q)"i"$()
`int$()
q)6h$()
`int$()
所有这些都会导致一个空整数列表
在上面的最后一部分中,#
是一个二元函数-当您执行0#
时,实际上并不是在这里创建投影列表,而是创建一个投影。kdb中没有类型化的函数列表:
q)type ({x+1};{x+2})
0h
它们总是以混合列表的形式出现(类型0),所以您只看到在本例中创建的投影的(正)类型(104)
此处有更新的类型列表:
有关铸造的信息,请点击此处:
谢谢Ryan的回答。我将尝试探索这方面的事情。