2
我有點困惑infix
函數。中綴函數可以有2個以上的參數嗎?
所以,如果我定義let (++) x y = ...
,那麼++
是一箇中綴函數。我可以按如下方式使用它:
x ++ y
(++) x y
基本上,如果我去掉括號,我可以把第一個參數在它的左邊,而第二至其右。
那我可以定義3個參數嗎,比如let (++) x y z = ...
?
如果我做UTOP let (++) x y z = x + y + z
,它是確定並給我:
utop # let (++) x y z = x + y + z;;
val (++) : int -> int -> int -> int = <fun>
我可以使用(++) 1 2 3
和答案是6
。
但是(++)
是中綴函數嗎?如果我想純粹使用++
,我應該如何將x,y,z
放在它周圍?