gpt4 book ai didi

syntax - 类型差异小

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

我有三个应该相等的函数:

let add1 x = x + 1
let add2 = (+) 1
let add3 = (fun x -> x + 1)

为什么这些方法的类型不同?
add1 和 add3 是 int -> int ,但 add2 是 (int -> int) .
它们都按预期工作,我只是好奇为什么 FSI 以不同的方式呈现它们?

最佳答案

这通常是一个不重要的区别,但如果您真的很好奇,请参阅 Arity Conformance for Values F# 规范的部分。

我的快速总结是 (int -> int)int -> int 的超集.自 add1add3是句法函数,推断它们具有更具体的类型 int -> int , 而 add2是一个函数值,因此推断其类型为 (int -> int) (并且不能被视为 int -> int )。

关于syntax - 类型差异小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5093173/

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