如何在功能修改中重载操作符?
s:string (`a1`b2`c3)
b:string til 2
使用功能修改,
给出
q)@[s;0 2;,;b]
("a10";"b2";"c31")
我想重载,
(追加)以将列表b
的内容添加到列表a
之前,如:
("0a1";"b2";"1c3")
答案 0 :(得分:2)
如果{y,x}
实现此目的,您需要使用自定义函数,
@[s;0 2;{y,x};b]
("0a1";"b2";"1c3")
请注意,此处,
是一个二元函数;任何其他二元函数,例如{y,x}
可用于valance 4的功能修正。
functional amend的一般格式如下,其中f
是二元函数
@[L;I;f;y]
q)@[1 2 3 4 ;1 3;*;5 ] // * is dyadic function {x*y}
1j, 10j, 3j, 20j
当f
是monadic函数时
@[L;I;f]
q)@[1 2 3 4 ;1 3;neg ]
1j, -2j, 3j, -4j