gpt4 book ai didi

F# 不能在没有管道的情况下调用 Seq.fold?

转载 作者:行者123 更新时间:2023-12-05 08:42:02 30 4
gpt4 key购买 nike

我正忙于学习 F# 并在玩弄 Seq.fold。任何人都可以解释为什么以下两个调用本质上不相同,一个错误而另一个错误。

这样调用:

Seq.fold (fun state input -> state + input) 0 Seq.ofList [1;2;3;4;5];;

导致以下错误:

error FS0001: This expression was expected to have type
''a -> 'b'
but here has type
'int'

使用管道调用工作正常:

Seq.ofList [1;2;3;4;5] |> Seq.fold (fun state input -> state + input) 0;;

我猜我以某种方式采用了一个通用函数并将其强制为仅 int。

最佳答案

您将 Seq.ofList 作为第三个参数传递给 Seq.fold。您需要添加一些括号:

Seq.fold (fun state input -> state + input) 0 (Seq.ofList [1;2;3;4;5]);;

关于F# 不能在没有管道的情况下调用 Seq.fold?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45810688/

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