Q язык программирования
Kdb + имеет встроенный язык программирования, известный как q. Он включает расширенный набор стандартного SQL, который расширен для анализа временных рядов и предлагает много преимуществ по сравнению со стандартной версией. Любой, кто знаком с SQL, может изучитьq за считанные дни и сможет быстро написать свои собственные специальные запросы.
Запуск среды «q»
Чтобы начать использовать kdb +, вам нужно запустить qсеанс. Есть три способа начатьq сессия -
Просто введите «c: /q/w32/q.exe» в терминале запуска.
Запустите командный терминал MS-DOS и введите q.
Скопируйте q.exe файл в «C: \ Windows \ System32» и в терминале запуска просто введите «q».
Здесь мы предполагаем, что вы работаете на платформе Windows.
Типы данных
В следующей таблице представлен список поддерживаемых типов данных -
имя | пример | Char | Тип | Размер |
---|---|---|---|---|
логический | 1b | б | 1 | 1 |
байт | 0xff | Икс | 4 | 1 |
короткая | 23ч | час | 5 | 2 |
int | 23i | я | 6 | 4 |
долго | 23j | j | 7 | 8 |
настоящий | 2.3e | е | 8 | 4 |
плавать | 2.3f | ж | 9 | 8 |
символ | «А» | c | 10 | 1 |
варчар | `ab | s | 11 | * |
месяц | 2003.03м | м | 13 | 4 |
свидание | 2015.03.17T18: 01: 40.134 | z | 15 | 8 |
минута | 8:31 | ты | 17 | 4 |
второй | 08:31:53 | v | 18 | 4 |
время | 18: 03: 18.521 | т | 19 | 4 |
перечислить | `u $` b, где u: `a`b | * | 20 | 4 |
Формирование атома и списка
Атомы - это отдельные сущности, например, одно число, символ или символ. В приведенной выше таблице (для разных типов данных) все поддерживаемые типы данных являются атомами. Список - это последовательность атомов или других типов, включая списки.
Передача атома любого типа в функцию монадического типа (т.е. функция с одним аргументом) вернет отрицательное значение, т. Е. –n, тогда как передача простого списка этих атомов функции типа вернет положительное значение n.
Пример 1 - Формирование атома и списка
/ Note that the comments begin with a slash “ / ” and cause the parser
/ to ignore everything up to the end of the line.
x: `mohan / `mohan is a symbol, assigned to a variable x
type x / let’s check the type of x
-11h / -ve sign, because it’s single element.
y: (`abc;`bca;`cab) / list of three symbols, y is the variable name.
type y
11h / +ve sign, as it contain list of atoms (symbol).
y1: (`abc`bca`cab) / another way of writing y, please note NO semicolon
y2: (`$”symbols may have interior blanks”) / string to symbol conversion
y[0] / return `abc
y 0 / same as y[0], also returns `abc
y 0 2 / returns `abc`cab, same as does y[0 2]
z: (`abc; 10 20 30; (`a`b); 9.9 8.8 7.7) / List of different types,
z 2 0 / returns (`a`b; `abc),
z[2;0] / return `a. first element of z[2]
x: “Hello World!” / list of character, a string
x 4 0 / returns “oH” i.e. 4th and 0th(first)
element