OCaml支持在纯文本中定义的中缀函数吗?
arg1 `plus` arg2 = arg1 + arg2
谢谢
OCaml支持在纯文本中定义的中缀函数吗?
arg1 `plus` arg2 = arg1 + arg2
谢谢
不行。如OCaml手册所解释的那样,中缀运算符只能包含特殊字符,分别为!
、$
、%
、&
、*
、+
、-
、.
、/
、:
、<
、=
、>
、?
、@
、^
、|
、~
(或者只有在第一位时才可以是#
),并且不能以!
、?
或~
开头。
如果要定义中缀操作,则必须将符号放入括号中:
# let (+++) x y = x + 2 * y;;
...
# 3 +++ 4;;
- : int = 11