Как преобразовать символ в строку в kdb +? - PullRequest
0 голосов
/ 01 апреля 2020

Например, если у меня есть список символов, например, (`A.ABC;`B.DEF;`C.GHI) или (`A;`B;`C), как я могу преобразовать каждый элемент в списке в строку?

Ответы [ 5 ]

3 голосов
/ 01 апреля 2020

Вы можете использовать строку ключевого слова, чтобы сделать это документально здесь

q)lst:(`A;`B;`C)
// convert to list of strings
q)string lst
,"A"
,"B"
,"C"
2 голосов
/ 01 апреля 2020

Как уже упоминали другие, string - это то, что вам нужно. В вашем примере, если вы заинтересованы в разделении префикса и суффикса, разделенных ., вы можете сделать

q)a:(`A.ABC;`B.DEF;`C.GHI)
q)` vs' a
A ABC
B DEF
C GHI

, и если вы хотите преобразовать их в строки, вы можете просто использовать string снова выше.

2 голосов
/ 01 апреля 2020

string преобразует их. Это атоми c функция

q)string (`A.ABC;`B.DEF;`C.GHI)
"A.ABC"
"B.DEF"
"C.GHI"
1 голос
/ 01 апреля 2020
q)string each (`A.ABC;`B.DEF;`C.GHI) 
"A.ABC"
"B.DEF"
"C.GHI"
0 голосов
/ 01 апреля 2020

Спасибо всем, полезные ответы! Пока я пытался решить это самостоятельно параллельно, я наткнулся на ($), который, кажется, тоже работает.

q)example:(`A;`B;`C)
q)updatedExample:($)example;
q)updatedExample
enlist "A"
enlist "B"
enlist "C"
...