2015-05-21 1 views
2
q)type variable 

возвращает тип num аргумент аргумента.тип char для ввода num mapping

Есть ли сопоставление, которое может генерировать символ типа из числа num или мне нужно создать этот словарь самостоятельно?

В идеале что-то вроде

q)typeChar 1 
i 

ответ

3

Вы можете использовать .Q.t.

q).Q.t abs type `test 
"s" 
q).Q.t abs type 5i 
"i" 

Edit: Или еще лучше просто использовать .Q.ty

Это, кажется, вернуть верхний регистр для атомов и строчных букв для списков.

q).Q.ty `test 
"S" 
q).Q.ty `test`test2 
"s" 
2

Одним из вариантов является использование функции 'ключ':

Ссылка: http://code.kx.com/q/ref/metadata/#key

Wiki говорит: Учитывая, простой список, возвращает имя типа, как символ:

Таким образом, вы можете сделать такую ​​функцию, как:

   q) tyeInChar:{key x,()} 
       q) typeInChar 1i // output `int 
       q) typeInChar "s" //output `char 
Смежные вопросы