Как применить функцию к каждому элементу массива в kdb? Например, чтобы умиротворять массив чисел на разных языках:kdb array map - как применить функцию к каждому элементу массива?
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"
Hurray. Так что теперь я должен быть в состоянии применить эту функцию в массив дат и получить массив строк в ответ, подумал я Дурак смертным:
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 применить произвольную функцию к каждой дате по очереди, пожалуйста? Большое спасибо!
Спасибо, это билет! –