F# 语句的语义
有人可以向我描述这个 F# 表达式吗?
val augment: GameGrid -> points -> unit
val
关键字是什么意思?
通常 type -> 是真的吗? type
表示返回指定类型的函数? type -> 也是如此 类型-> type
表示一个函数,该函数返回一个返回指定类型的函数?
Can someone describe this F# expression to me?
val augment: GameGrid -> points -> unit
What does the val
keyword mean?
Is it true that usually type -> type
indicates a function that returns the specified type? So does type -> type -> type
indicate a function that returns a function that returns the specified type?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
(“val”位不是一个表达式;我认为它可以出现在三种不同的上下文中:
(“显式”语法),用于定义实例变量,并且这些都不是技术上的表达式上下文。)
至于类型,确实
意味着采用 A1 的函数,并返回一个接受 A2 并返回 R 的函数。参数是柯里化的,阅读例如
F# 函数类型:元组和柯里化的乐趣
更详细地描述了柯里化和部分应用程序。
(The 'val' bit is not an expression; offhand I think it can appear in three different contexts:
and none of those are technically expression contexts.)
As for the type, indeed
means a function that takes an A1, and returns a function that takes an A2 and returns an R. The arguments are curried, and it may do you well to read e.g.
F# function types: fun with tuples and currying
which describes currying and partial application in more detail.
你是如何得到这个输出的? 在金融服务机构?
Val只是表示一个值的定义。
例如,如果您在 C# 中编写了以下内容,
您将在 F# 中编写此内容
关于
type -> 类型-> type
:这是一个带有两个参数(类型)的函数,返回“type”,例如
具有签名
int -> 整数-> int
。您关于返回函数的函数的想法实际上是正确的。 在许多函数式语言中,这是一种非常有趣的技术,称为柯里化(currying)。
How did you get this output? In FSI?
Val just indiciates a definition of a value.
E.g. if you wrote the following in C#
you would write this in F#
Concerning
type -> type -> type
: This is a function with two parameters (type) returning `type´E.g.
has got signature
int -> int -> int
.Your idea with a function that returns a function is actually correct. This is a very interesting technique in many functional languages called currying