我对infix
函数感到有点困惑。
因此,如果我定义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
放在它周围?
答案 0 :(得分:3)
# (1 ++ 2) 3;;
- : int = 6
虽然我不确定你什么时候真的想这样做......