Langage de programmation Q

Kdb + est livré avec son langage de programmation intégré appelé q. Il intègre un sur-ensemble de SQL standard qui est étendu pour l'analyse de séries chronologiques et offre de nombreux avantages par rapport à la version standard. Toute personne familiarisée avec SQL peut apprendreq en quelques jours et être en mesure de rédiger rapidement ses propres requêtes ad hoc.

Démarrage de l'environnement «q»

Pour commencer à utiliser kdb +, vous devez démarrer le qsession. Il existe trois façons de démarrer unq session -

  • Tapez simplement «c: /q/w32/q.exe» sur votre terminal d'exécution.

  • Démarrez le terminal de commande MS-DOS et tapez q.

  • Copiez le q.exe fichier sur «C: \ Windows \ System32» et sur le terminal d'exécution, tapez simplement «q».

Ici, nous supposons que vous travaillez sur une plate-forme Windows.

Types de données

Le tableau suivant fournit une liste des types de données pris en charge -

Nom Exemple Carboniser Type Taille
booléen 1b b 1 1
octet 0xff X 4 1
court 23h h 5 2
int 23i je 6 4
longue 23j j sept 8
réel 2.3e e 8 4
flotte 2.3f F 9 8
carboniser "une" c dix 1
varchar `ab s 11 *
mois 2003.03m m 13 4
Date 2015.03.17T18: 01: 40.134 z 15 8
minute 08:31 u 17 4
seconde 08:31:53 v 18 4
temps 18: 03: 18.521 t 19 4
énumération `u $` b, où u: `a`b * 20 4

Formation d'atomes et de listes

Les atomes sont des entités uniques, par exemple, un seul nombre, un caractère ou un symbole. Dans le tableau ci-dessus (de différents types de données), tous les types de données pris en charge sont des atomes. Une liste est une séquence d'atomes ou d'autres types comprenant des listes.

Passer un atome de n'importe quel type à la fonction de type monadique (c'est-à-dire à un seul argument) retournera une valeur négative, c'est-à-dire –n, alors que passer une simple liste de ces atomes à la fonction type renverra une valeur positive n.

Exemple 1 - Formation d'atomes et de listes

/ 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