[英]Semantics of F# statement
有人可以向我描述这个F#表达式吗?
val augment: GameGrid -> points -> unit
val
关键字是什么意思?
通常type -> type
指示返回指定类型的函数是否正确? 那么type- type -> type -> type
表示返回一个返回指定类型的函数的函数?
(“ val”位不是表达;我认为它可以出现在三个不同的上下文中:
而且这些都不是技术上的表达上下文。)
至于类型,确实
A1 -> A2 -> R
表示接受A1的函数,并返回接受A2并返回R的函数。这些参数是经过咖喱处理的,它可能会很好地读取例如
其中更详细地描述了currying和部分应用程序。
您如何获得此输出的? 在FSI中?
Val仅代表一个值的定义。
例如,如果您在C#中编写了以下内容
private void Foo(int i);
你可以用F#来写
val Foo : int -> unit
关于type-> type- type -> type -> type
:这是一个带有两个参数(类型)的函数,返回“ type”
例如
let plus a b = a + b
拥有签名int -> int -> int
。
您关于返回一个函数的函数的想法实际上是正确的。 在许多称为currying的功能语言中,这是一种非常有趣的技术
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.