K/Q Yerleşik Sözcükleri

Orkun Programlama Dili sözcük seçimi için referans tablo. APL soyundan gelen K ve üst katman Q dili incelenir.

~14 K ilkeli + ~130 Q yerleşik fonksiyon · kdb+ / q
← Programlama Dili Projesine Dön
K/Q tasarım notu: K, APL'nin son derece kısa sembolik bir türevidir; Q, K üzerine insan okunabilir kelimeler ekleyen üst katmandır. kdb+ veritabanı motoru bu ikili üzerine inşa edilmiştir. Orkun açısından önemli olan: Q'nun tek heceli sözcüklerle ifade gücü sağlaması.
K İlkel Operatörleri (Sembolik) 14

K, tek karakterde hem monadik hem dyadik anlam taşır. Orkun'un "tek tamga = tek kavram" hedefiyle en yakın örtüşen dildir.

SembolMonadik (tek arg.)Dyadik (iki arg.)
+TranspozToplama
-NegatifÇıkarma
*İlk elemanÇarpma
%Tersini al (1/x)Bölme
&Sıfır olmayan indeksler (where)Minimum / Mantıksal VE
|Tersine çevirMaksimum / Mantıksal VEYA
<Artan sıra indeksleriKüçüktür
>Azalan sıra indeksleriBüyüktür
=Gruba ayır (group)Eşittir
~Mantıksal DEĞİLEşleşme (match)
!İsim alanı anahtarları (key)Mod; sözlük oluştur
,Birleştir (enlist)Birleştir (join)
#Sayı (count)Al (take) / Filtrele (where)
_Taban (floor)Bırak (drop)
$Dizeye çevirTip dönüşümü
?Benzersiz (distinct)Bul (find) / Rastgele (rand)
@Tip sorguDizinleme / Uygulama
.DeğerlendirNitelikli uygulama
Q — Matematiksel Fonksiyonlar 18
SözcükAçıklama
absMutlak değer
negNegatif değer (-x)
invMatrisin tersini alır
sqrtKarekök
expe üssü (e^x)
logDoğal logaritma
sinSinüs
cosKosinüs
tanTanjant
asinArk sinüs
acosArk kosinüs
atanArk tanjant
floorAşağı yuvarlar
ceilingYukarı yuvarlar
modMod (kalan); x mod y
xexpÜs alma (x^y)
xlogx tabanında logaritma
signumİşaret fonksiyonu (-1, 0, 1)
Q — Dizi ve Liste Fonksiyonları 30
SözcükAçıklama
countEleman sayısını döndürür
firstİlk elemanı döndürür
lastSon elemanı döndürür
nextListeyi bir ileriye kaydırır (önceki null)
prevListeyi bir geriye kaydırır (sonraki null)
enlistDeğeri tek elemanlı listeye sarar
razeİç içe listeyi bir seviye düzleştirir
flipListeyi transpoz eder (sütun/satır dönüşümü)
reverseListeyi tersine çevirir
rotateListeyi x kadar döndürür
ascArtan sırada sıralar
descAzalan sırada sıralar
iascArtan sıra indekslerini verir
idescAzalan sıra indekslerini verir
distinctBenzersiz değerleri döndürür
groupDeğerleri anahtara göre gruplara ayırır
whereKoşulu sağlayan indeksleri listeler
inÜyelik denetimi; x in y
withinAralık denetimi; x within (min;max)
interKüme kesişimi
unionKüme birleşimi
exceptKüme farkı
crossKartezyen çarpım
til0'dan x-1'e tamsayı dizisi üretir (iota karşılığı)
randRastgele sayı veya öğe seçer
rankHer elemanın sıralama konumunu verir
differArdışık farklı eleman noktalarını işaretler
sublistListeden alt liste seçer
cutListeyi belirtilen konumlardan böler
elemsEleman sayısı (count ile eş)
Q — İstatistik Fonksiyonları 20
SözcükAçıklama
sumToplam
sumsKümülatif toplam
prdÇarpım
prdsKümülatif çarpım
minMinimum değer
maxMaksimum değer
minsKümülatif minimum
maxsKümülatif maksimum
avgOrtalama
avgsKümülatif ortalama
medMedyan
devStandart sapma
varVaryans
covKovaryans; x cov y
corKorelasyon; x cor y
wavgAğırlıklı ortalama
wsumAğırlıklı toplam
msumm-uzunluklu kayan pencere toplamı
mavgKayan pencere ortalaması
mdevKayan pencere standart sapması
mcountKayan pencere eleman sayısı
mmaxKayan pencere maksimum
mminKayan pencere minimum
Q — Tablo ve Veritabanı Fonksiyonları 20
SözcükAçıklama
selectTablodan satır ve sütun seçer (SQL SELECT)
updateTablo satırlarını günceller
deleteTablodan satır veya sütun siler
insertTabloya satır ekler
upsertVar olan günceller, yoksa ekler
execTablo yerine liste döndüren select varyantı
byselect ifadesinde gruplama anahtarı
fromselect ifadesinde kaynak tabloyu belirtir
fbyGruplama içinde filtre uygular
ajZaman ağırlıklı as-of join (anlık değeri bulur)
aj0aj varyantı; ileri taşıma olmadan
ejEşitlik join (equi join)
ijİç join (inner join)
ljSol join (left join)
pjArtı join (plus join; sayısal alanları toplar)
ujBirleşim join (union join)
wjPencere join (window join)
asofZaman bazlı as-of arama
xkeyTablonun anahtar sütunlarını belirler
ungroupGruplu tabloyu düzleştirir
xascSütuna göre artan sırada sıralar
xdescSütuna göre azalan sırada sıralar
xcolSütun adlarını yeniden adlandırır
xcolsSütun sırasını yeniden düzenler
xgroupSütunlara göre gruplu tablo oluşturur
xbarDeğeri çubuk (bucket) aralığına yuvarlar
colsTablonun sütun adlarını listeler
keysTablonun anahtar sütunlarını listeler
fkeysYabancı anahtar sütunlarını listeler
metaTablonun şema bilgisini (sütun tipleri vb.) döndürür
Q — Denetim Akışı ve Sistem 18
SözcükAçıklama
ifKoşullu yürütme; if[koşul; ifade]
doN kez döngü; do[n; ifade]
whileKoşul doğruysa döngü; while[koşul; gövde]
eachListedeki her öğeye fonksiyon uygular (/ ve \ karşılığı)
overKatlama operatörü (fold); f over liste
scanKümülatif katlama; ara sonuçları saklar
priorHer öğeyi bir öncekiyle işler (delta hesaplamak için)
peachParalel each; iş parçacıklarına dağıtır
getDosya veya veritabanından veri okur
setVeriyi dosyaya veya veritabanına yazar
loadİkili dosyadan veri yükler
saveVeriyi ikili dosyaya kaydeder
systemİşletim sistemi komutu çalıştırır
exitYorumlayıcıdan çıkar
evalDizeyi Q ifadesi olarak değerlendirir
parseİfadeyi ayrıştırır; sözdizim ağacı döndürür
showDeğeri konsola yazdırır ve döndürür
tablesGeçerli isim alanındaki tablo listesini verir
viewsTanımlı görünümleri listeler
typeDeğerin tipini tamsayı kodu olarak döndürür
nullDeğerin null olup olmadığını denetler
fillNull değerleri belirtilen değerle doldurur (^)
attrListenin özniteliğini döndürür (sorted, unique vb.)
valueSembolün değerini döndürür; fonksiyon gövdesini gösterir
keySözlüğün anahtarlarını veya tablonun birincil anahtarını döndürür
stringDeğeri metin temsiline dönüştürür
lowerMetni küçük harfe çevirir
upperMetni büyük harfe çevirir
trimBaştaki ve sondaki boşlukları temizler
ltrimBaştaki boşlukları temizler
rtrimSondaki boşlukları temizler
likeDizeyi joker örüntüyle eşleştirir
ssDizede arama (string search)
ssrDizede ara ve değiştir
svListeyi belirteci ile birleştirir (string join)
vsDizeyi belirteçle böler (string split)