Kdb 在词典中应用词典

Kdb 在词典中应用词典,kdb,k,Kdb,K,最近我发现了一种将dict应用于dict的技术。它是这样的: (3 4 5!6 7 8)[(`a`b)!(2 3)] ~ (`a`b!0N 6) 甚至这个,从左到右阅读看起来更自然: (@[;(`a`b)!(2 3)](3 4 5!6 7 8)) ~ (`a`b!0N 6) 我可以使用这种行为(是否有任何警告)?官方文件中有描述吗 这似乎绝对是一种令人兴奋的技术:我们将函数(list/dictionary/table)应用于它的参数,而不仅仅是将参数传递给函数。我认为,如果将字典视为一个以

最近我发现了一种将dict应用于dict的技术。它是这样的:

(3 4 5!6 7 8)[(`a`b)!(2 3)] ~ (`a`b!0N 6)
甚至这个,从左到右阅读看起来更自然:

(@[;(`a`b)!(2 3)](3 4 5!6 7 8)) ~ (`a`b!0N 6)
我可以使用这种行为(是否有任何警告)?官方文件中有描述吗



这似乎绝对是一种令人兴奋的技术:我们将函数(list/dictionary/table)应用于它的参数,而不仅仅是将参数传递给函数。

我认为,如果将字典视为一个以键作为输入并输出值的函数,这是合理的

因此,就像一个加倍的函数在保留输入键的同时将输入值加倍一样:

q)f1:2*
q)f1[`a`b!2 3]
a| 4
b| 6
接受键和输出值的“函数”(字典)也会执行类似的操作:

q)f2:3 4 5!6 7 8
q)f2[`a`b!2 3]
a|
b| 6

谢谢你,特里!现在它以一种优美而清晰的方式符合我的想法:)