Kdb 函数表达式中运算符的重载

Kdb 函数表达式中运算符的重载,kdb,Kdb,如何在函数修改中重载运算符 s:string (`a1`b2`c3) b:string til 2 使用带有,的函数修正 q)@[s;0 2;,;b] ("a10";"b2";"c31") 我想重载,(追加)以将listb的内容作为lista的前缀,如下所示: ("0a1";"b2";"1c3") 如果要实现这一点,需要使用自定义函数{y,x},而不是, @[s;0 2;{y,x};b] ("0a1";"b2";"1c3") 请注意这里的,是一个并矢函数;任何其他二元函数,例如{y,x}

如何在函数修改中重载运算符

s:string (`a1`b2`c3)
b:string til 2
使用带有
的函数修正

q)@[s;0 2;,;b]
("a10";"b2";"c31")
我想重载
(追加)以将list
b
的内容作为list
a
的前缀,如下所示:

("0a1";"b2";"1c3")

如果要实现这一点,需要使用自定义函数
{y,x}
,而不是

@[s;0 2;{y,x};b]
("0a1";"b2";"1c3")
请注意这里的
是一个并矢函数;任何其他二元函数,例如
{y,x}
,都可以用在带valance 4的函数修正中

的一般格式如下所示,其中
f
为并矢函数

 @[L;I;f;y]

q)@[1 2 3 4 ;1 3;*;5 ]   // * is dyadic function {x*y} 
1j, 10j, 3j, 20j
f
是一元函数时

 @[L;I;f]

q)@[1 2 3 4 ;1 3;neg ]
1j, -2j, 3j, -4j

如果要实现这一点,需要使用自定义函数
{y,x}
,而不是

@[s;0 2;{y,x};b]
("0a1";"b2";"1c3")
请注意这里的
是一个并矢函数;任何其他二元函数,例如
{y,x}
,都可以用在带valance 4的函数修正中

的一般格式如下所示,其中
f
为并矢函数

 @[L;I;f;y]

q)@[1 2 3 4 ;1 3;*;5 ]   // * is dyadic function {x*y} 
1j, 10j, 3j, 20j
f
是一元函数时

 @[L;I;f]

q)@[1 2 3 4 ;1 3;neg ]
1j, -2j, 3j, -4j