2014年11月15日土曜日

[kdb] kdbメモ

kdb+関連メモあれこれ

・使用されているnamespaceを一覧表示
q) key `
`q`Q`h`o


・namespaceで定義したテーブルを呼ぶ
テーブルを呼ぶときは同一namespaceからでもnamespaceをつける必要がある。
一般に、namespaceはfunctionだけに使用すべきであり、tables/dataはroot namespaceに定義すべき。
cf) https://groups.google.com/forum/#!searchin/personal-kdbplus/namespace/personal-kdbplus/8ottIcH3qkk/0460pMTJR9wJ


・nullの比較
マイナスの比較をする場合、null値はマイナス扱いとなるため注意する。nullを除外するにはnegで符号を反転させるとよい
q)1 < 0
0b
q)-1 < 0
1b
q)0N < 0
1b

q)(neg -1) > 0
1b
q)(neg 0N) > 0
0b


・Browserからのアクセス(HTTP query)
変数一覧
http://host:port/

クエリ
http://host:port/?[query]
ex) http://localhost:5001/?.z.z


・"1行"の処理
1行の処理でも後ろから処理される。変数の連続代入を行う場合は気をつけて使う必要がある。
※"1行"という表現は微妙ですが、コンソールであれば次の";"までの処理です
q) i: 0 1 2
q) (i[1]:3; i[2]:i[1]+1)   / [1]に3を代入し、[2]を"[1]+1"に変更したい
3 2
q) i   / [2]が変わっていない
0 3 2

q)i: 0 1 2
q)(i[2]:i[1]+1; i[1]:3)
4 3
q)i
0 3 4   / 後ろから処理されることを意識すればOK

q) i: 0 1 2
q)(i[2]:1+i[1]:3)   / この書き方のほうが間違えが少ないかも
q)i
0 3 4

0 件のコメント:

コメントを投稿