Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么是浮动->;浮动是用OCaml表示的吗?_Ocaml_Ml - Fatal编程技术网

什么是浮动->;浮动是用OCaml表示的吗?

什么是浮动->;浮动是用OCaml表示的吗?,ocaml,ml,Ocaml,Ml,我有这个类型,它定义了一个表达式。我知道*符号允许我添加对,但是->用于什么 # type expression = Value of float | Sum of (expr*expr) | Subtraction of (expr*expr) | Fc1 of ((float->float)*expr) ->运算符用于函数类

我有这个类型,它定义了一个表达式。我知道
*
符号允许我添加对,但是
->
用于什么

 # type expression = Value of float                   
                | Sum of (expr*expr)     
                | Subtraction of (expr*expr)     
                | Fc1 of ((float->float)*expr)   

->
运算符用于函数类型
a->b
表示“
a
in,
b
out”,因此
float->float
是一种函数类型,它将float作为参数,并生成一个float作为结果


那么
float->float->float


->
是右关联的,因此
a->b->c
a->(b->c)
相同,意思是一个函数接受
a
并生成另一个
b->c
类型的函数。像这样的函数通常用于模拟多参数函数(您可以使用
fxy
f
应用于
x
,然后将结果函数应用于
y
,从而有效地调用具有两个参数的内部函数),作为元组的替代方法。这种模拟多参数函数的方法称为currying。

关于
float->float->float