【发布时间】:2015-12-13 00:09:33
【问题描述】:
如何将函数应用于 kdb 中数组的每个元素?例如,对各种语言的数字数组求平方:
javascript: [1,2,3,4].map(square) -> [1,4,9,16]
python: [square(x) for x in [1,2,3,4]] -> [1,4,9,16]
kdb: {[x] x*x} (1;2;3;4) -> 1 4 9 16
所以我想我会编写另一个函数,它接受一个日期并返回该日期的 CSV 文件的名称:
q)gobble:{[x] string[x-1970.01.01],".csv"}
q)gobble .z.d // .z.d == today
"16781.csv"
万岁。所以现在我应该能够将该函数应用于日期数组并获得一个字符串数组作为响应,我想。愚蠢的凡人:
q)gobble .z.d + til 5 // .z.d + til 5 == array of 5 days starting today
"16781"
"16782"
"16783"
"16784"
"16785"
"."
"c"
"s"
"v"
显然,kdb 中的平方是某种特殊情况,不能推广到所有函数。我怎样才能告诉 KDB 对每个日期依次应用任意函数,漂亮吗?非常感谢!
【问题讨论】:
标签: kdb