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