gpt4 book ai didi

f# - F#代码有什么问题?

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

在 F# 中,我试图获取给定列表的最后一个元素。我写了下面的代码

let rec findLast t =
match t with
| hd :: [] -> hd
| hd :: tl -> findLast tl
| _ -> -1

printfn "%A" (findLast [1,2,3,4,5])

但是当我尝试在 F# Interactive 中执行它时,它会提示如下

error FS0001: This expression was expected to have type int but here has type 'a * 'b * 'c * 'd * 'e

我只是想知道上面的代码有什么问题。我知道有多种智能和优雅的方法可以从 F# 中的列表中获取最后一个元素。但我很想知道上面的代码有什么问题?

最佳答案

1,2,3,4,5 是一个元组。 'a * 'b * 'c * 'd * 'e 是元组定义。创建一个包含分号的列表 [1;2;3;4;5][1,2,3,4,5] 是一个元组列表,其中一项是五元组。

let rec findLast t =
match t with
| hd :: [] -> hd
| hd :: tl -> findLast tl
| _ -> -1

printfn "%A" (findLast [1;2;3;4;5])

关于f# - F#代码有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33378308/

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