我有一个 list
filter:((in;`name;`betsy`robert`tom);(>;`age;43));
我想从中得到以下列表表示
"((in;`name;`betsy`robert`tom);(>;`age;43))"
到目前为止我发现的是:
flatten:{[alist]
$[(count alist)~count raze alist;:alist;:flatten raze alist];
};
";" sv string raze flatten[filter]
/ gives: "in;name;betsy;robert;tom;>;age;43"
它会丢失 filter
列表中的嵌套列表。
归功于:https://lifeisalist.wordpress.com/2009/07/10/p07-flatten-a-nested-list-structure/
谢谢!
最佳答案
我认为您正在寻找的命令是 .Q.s
或 .Q.s1
以纯文本形式返回 kdb 代码:
q).Q.s1 filter
"((in;`name;`betsy`robert`tom);(>;`age;43))"
需要注意的是,这些函数的输出受到 \c
的限制。 .
关于kdb - q - 列表的字符串表示形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48399512/