1

各引数 (テーブルから取得した同じ長さのリスト) から単一のアトムを取り出し、その引数をその関数に適用することによって、連続して適用したい多価 kdb 関数があります。

これは簡単なはずですが、何か根本的なことが欠けていると思いますが、kdb ではよくあることですが、解決策を探すのは困難です。

以下のスニペットは私が望むことを行いますが、トップレベルでしか機能しません (私が理解できる限り):

a:(1 2 3);
b:(1 2 3);
{a[x]*b[x]} each til count a
4

2 に答える 2

2

あなたの質問を完全に理解できたかどうかはわかりませんが、要素ごとに関数を適用したいようですね? 明らかに、算術関数は KDB+ ですでにこれを行っていますが、説明のために:

q)a
8 1 9 5 4 6 6 1 8 5
q)b
4 9 2 7 0 1 9 2 1 8
q)f:{[x;y] x*y}
q)a,'b
8 4
1 9
9 2
5 7
4 0
6 1
6 9
1 2
8 1
5 8
q)f .' a,'b
32 9 18 35 0 6 54 2 8 40

適切な参照は次のとおりです。

http://code.kx.com/q/ref/errors/#signal (それぞれ両方)

http://code.kx.com/q/ref/unclassified/#apply (適用)

于 2013-10-29T17:18:49.767 に答える