Syntax ocaml:多个参数函数的基本语法
我正在学习OCaml,在这一点上我是一个完全的初学者。我正试图习惯语法,我只是花了15分钟调试了一个愚蠢的语法错误Syntax ocaml:多个参数函数的基本语法,syntax,ocaml,Syntax,Ocaml,我正在学习OCaml,在这一点上我是一个完全的初学者。我正试图习惯语法,我只是花了15分钟调试了一个愚蠢的语法错误 让foo a b=“bar”;; 让biz=foo2-1.;; 我收到一个错误此表达式的类型为'a->string,但表达式的类型应为int。我解决了这个错误,但它促使我学习处理这种语法特性的最佳方法 基本上,OCaml将我想要的作为数值常量-1.处理为两个独立的标记:-和1.,最后我只将一个参数传递给foo。在我熟悉的其他语言中,这种情况不会发生,因为参数用逗号分隔(或者在Sch
让foo a b=“bar”;;
让biz=foo2-1.;;代码>
我收到一个错误此表达式的类型为'a->string,但表达式的类型应为int
。我解决了这个错误,但它促使我学习处理这种语法特性的最佳方法
基本上,OCaml将我想要的作为数值常量-1.
处理为两个独立的标记:-
和1.
,最后我只将一个参数传递给foo
。在我熟悉的其他语言中,这种情况不会发生,因为参数用逗号分隔(或者在Scheme中有括号)
在OCaml中处理这种语法特性的常用方法是什么?它是用括号(foo 2.(-1.)
)围绕数字还是有其他方法?有一个一元减号运算符~.
可以用来避免这个问题:foo~-.1.
(及其整数对应项~-
)但在有问题的表达式周围添加括号通常更简单。有一个一元减号运算符~.
可以用来避免此问题:foo~-.1.
(及其整数对应项~-
)但是,在有问题的表达式周围添加括号通常比较简单。您也可以使用@
中缀运算符剪切一些括号<代码>foo 2@@-1
您还可以使用@
中缀运算符剪切一些括号<代码>foo 2@@-1