Ngôn ngữ lập trình Q

Kdb + đi kèm với ngôn ngữ lập trình tích hợp được gọi là q. Nó kết hợp một tập hợp SQL chuẩn được mở rộng để phân tích chuỗi thời gian và mang lại nhiều lợi thế hơn so với phiên bản chuẩn. Bất kỳ ai quen thuộc với SQL đều có thể họcq trong vài ngày và có thể nhanh chóng viết các truy vấn đặc biệt của riêng mình.

Khởi động Môi trường “q”

Để bắt đầu sử dụng kdb +, bạn cần bắt đầu qphiên họp. Có ba cách để bắt đầu mộtq phiên -

  • Chỉ cần gõ “c: /q/w32/q.exe” trên thiết bị đầu cuối đang chạy của bạn.

  • Khởi động đầu cuối lệnh MS-DOS và nhập q.

  • Sao chép q.exe tập tin vào “C: \ Windows \ System32” và trên cửa sổ chạy, chỉ cần nhập “q”.

Ở đây chúng tôi giả định rằng bạn đang làm việc trên nền tảng Windows.

Loại dữ liệu

Bảng sau cung cấp danh sách các kiểu dữ liệu được hỗ trợ:

Tên Thí dụ Char Kiểu Kích thước
boolean 1b b 1 1
byte 0xff x 4 1
ngắn 23h h 5 2
int 23i Tôi 6 4
Dài 23j j 7 số 8
thực tế 2,3e e số 8 4
Phao nổi 2,3f f 9 số 8
char "A" c 10 1
varchar `ab S 11 *
tháng 2003,03m m 13 4
ngày 2015.03.17T18: 01: 40.134 z 15 số 8
phút 08:31 u 17 4
thứ hai 08:31:53 v 18 4
thời gian 18: 03: 18.521 t 19 4
enum `u $` b, trong đó u: `a`b * 20 4

Nguyên tử và hình thành danh sách

Nguyên tử là các thực thể đơn lẻ, ví dụ, một số, một ký tự hoặc một ký hiệu. Trong bảng trên (với các kiểu dữ liệu khác nhau), tất cả các kiểu dữ liệu được hỗ trợ đều là nguyên tử. Danh sách là một chuỗi các nguyên tử hoặc các loại khác bao gồm danh sách.

Truyền một nguyên tử thuộc bất kỳ loại nào cho hàm loại đơn nguyên (tức là hàm đối số đơn) sẽ trả về giá trị âm, tức là –n, trong khi chuyển một danh sách đơn giản gồm các nguyên tử đó vào hàm type sẽ trả về giá trị dương n.

Ví dụ 1 - Dạng nguyên tử và danh sách

/ 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