Q Lenguaje de programación
Kdb + viene con su lenguaje de programación incorporado que se conoce como q. Incorpora un superconjunto de SQL estándar que se amplía para el análisis de series de tiempo y ofrece muchas ventajas sobre la versión estándar. Cualquiera que esté familiarizado con SQL puede aprenderq en cuestión de días y poder escribir rápidamente sus propias consultas ad-hoc.
Inicio del entorno "q"
Para comenzar a usar kdb +, debe iniciar el qsesión. Hay tres formas de iniciar unaq sesión -
Simplemente escriba "c: /q/w32/q.exe" en su terminal de ejecución.
Inicie el terminal de comandos de MS-DOS y escriba q.
Copia el q.exe archivo en "C: \ Windows \ System32" y en el terminal de ejecución, simplemente escriba "q".
Aquí asumimos que está trabajando en una plataforma Windows.
Tipos de datos
La siguiente tabla proporciona una lista de tipos de datos admitidos:
Nombre | Ejemplo | Carbonizarse | Tipo | Talla |
---|---|---|---|---|
booleano | 1b | segundo | 1 | 1 |
byte | 0xff | X | 4 | 1 |
corto | 23h | h | 5 | 2 |
En t | 23i | yo | 6 | 4 |
largo | 23j | j | 7 | 8 |
real | 2.3e | mi | 8 | 4 |
flotador | 2.3f | F | 9 | 8 |
carbonizarse | "un" | C | 10 | 1 |
varchar | ab | s | 11 | * |
mes | 2003.03m | metro | 13 | 4 |
fecha | 2015.03.17T18: 01: 40.134 | z | 15 | 8 |
minuto | 08:31 | tu | 17 | 4 |
segundo | 08:31:53 | v | 18 | 4 |
hora | 18: 03: 18.521 | t | 19 | 4 |
enumeración | `u $` b, donde u: `a`b | * | 20 | 4 |
Formación de átomos y listas
Los átomos son entidades individuales, por ejemplo, un solo número, un carácter o un símbolo. En la tabla anterior (de diferentes tipos de datos), todos los tipos de datos admitidos son átomos. Una lista es una secuencia de átomos u otros tipos, incluidas listas.
Pasar un átomo de cualquier tipo a la función de tipo monádico (es decir, función de argumento único) devolverá un valor negativo, es decir, –n, mientras que pasar una lista simple de esos átomos a la función de tipo devolverá un valor positivo n.
Ejemplo 1: formación de átomos y listas
/ 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