gpt4 book ai didi

types - F# (+) 的类型是什么

转载 作者:行者123 更新时间:2023-12-01 09:09:16 25 4
gpt4 key购买 nike

我是 F# 新手。我试着找到一些值的类型,比如 (+)、pown 等。虽然我模糊地理解 (int -> int -> int) 的意思是“一个接受整数的函数,它返回一个接受整数并返回整数的函数。”

但是,我不明白<fun:it@1>的意思在

(+);;  
val it : (int -> int -> int) = <fun:it@1>

如果能帮助理解这个概念,我们将不胜感激。

最佳答案

我猜您正在使用 F# Interactive ( fsi) 来计算表达式。在这种情况下,您应该如何阅读程序的输出:

  • val it => 表示绑定(bind)到最后计算的表达式
  • : (int -> int -> int) => 冒号后面是最后计算的表达式的类型
  • = <fun:it@1> => 等号后面是最后计算的表达式的值

所以您可以看到您已经回答了关于 ( + ) 类型的问题.你问的部分只是函数的值和fsi不能在这里显示任何有意义的东西。如果您尝试定义自己的函数,您将得到类似的结果:let f x = x + 1;; f;;产量 val it : (int -> int) = <fun:it@4> .

现在,全面回答有关 type of ( + ) 的问题,这有点棘手,因为它是一个重载运算符,需要更高级的知识才能理解。基本上,如果存在一个带有名为 ( + ) 的静态成员的类输入类型为 ^T1^T2那么你可以使用 ( + ) ^T1 类型值的运算符和 ^T2 .

关于types - F# (+) 的类型是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50691648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com