假设我有一个字典
d:flip(100 200 400 800 1600; 1 3 4 6 10)
Run Code Online (Sandbox Code Playgroud)
如何创建一个返回大于x的最小键值的查找函数?给出一张桌子
tbl:flip `sym`val!(`a`b`c`d; 50 280 1200 1800)
Run Code Online (Sandbox Code Playgroud)
我想做点什么
{[x] : update new:fun[x[`val]] from x} each tbl
Run Code Online (Sandbox Code Playgroud)
最终在这样的桌子
tbl:flip `sym`val`new!(`a`b`c`d; 50 280 1200 1800; 1 4 10 0N)
sym val new
a 50 1
b 280 4
c 1200 10
d 1800
Run Code Online (Sandbox Code Playgroud)
阶梯词典可以帮助 http://code.kx.com/q/cookbook/temporal-data/#stepped-attribute
q)d:`s#-0W 100 200 400 800 1600!1 3 4 6 10 0N
q)d 50 280 1200 1800
1 4 10 0N
Run Code Online (Sandbox Code Playgroud)