Linguagem de programação Q

Kdb + vem com sua linguagem de programação integrada que é conhecida como q. Ele incorpora um superconjunto de SQL padrão que é estendido para análise de série temporal e oferece muitas vantagens em relação à versão padrão. Qualquer pessoa familiarizada com SQL pode aprenderq em questão de dias e ser capaz de escrever rapidamente suas próprias consultas ad hoc.

Iniciando o Ambiente “q”

Para começar a usar o kdb +, você precisa iniciar o qsessão. Existem três maneiras de iniciar umq sessão -

  • Basta digitar “c: /q/w32/q.exe” em seu terminal de execução.

  • Inicie o terminal de comando do MS-DOS e digite q.

  • Copie o q.exe arquivo em “C: \ Windows \ System32” e no terminal de execução, basta digitar “q”.

Aqui, estamos assumindo que você está trabalhando em uma plataforma Windows.

Tipos de dados

A tabela a seguir fornece uma lista de tipos de dados suportados -

Nome Exemplo Caracteres Tipo Tamanho
boleano 1b b 1 1
byte 0xff x 4 1
baixo 23h h 5 2
int 23i Eu 6 4
grandes 23j j 7 8
real 2.3e e 8 4
flutuador 2.3f f 9 8
Caracteres "uma" c 10 1
varchar `ab s 11 *
mês 2003,03m m 13 4
encontro 17.03.2015T18: 01: 40.134 z 15 8
minuto 08:31 você 17 4
segundo 08:31:53 v 18 4
Tempo 18: 03: 18.521 t 19 4
enum `u $` b, onde u: `a`b * 20 4

Formação de átomos e listas

Os átomos são entidades únicas, por exemplo, um único número, um caractere ou um símbolo. Na tabela acima (de diferentes tipos de dados), todos os tipos de dados suportados são átomos. Uma lista é uma sequência de átomos ou outros tipos, incluindo listas.

Passar um átomo de qualquer tipo para a função do tipo monádica (ou seja, função de argumento único) retornará um valor negativo, ou seja, –n, ao passo que passar uma lista simples desses átomos para a função de tipo retornará um valor positivo n.

Exemplo 1 - Formação de átomo e lista

/ 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