gpt4 book ai didi

F#:根据用户输入创建整数集合

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

我是 F# 的新手,所以这个问题可能相当初级。不过,我找不到任何关于 SO 的建议。

我正在玩 F# 中的算法任务。作为第一步,我想从用户控制台输入创建一个整数集合。输入的数量未定义。而且我不会使用任何 while 循环。我更喜欢尽可能多的惯用方法。

在递归函数中,我正在读取结果并使用 Int32.TryParse 对其进行解析。我使用 match ... with 匹配 bool 结果。如果成功,那么我会为集合附加一个新值。否则我会退回收藏。

下面是我的代码:

let rec getNumList listSoFar =
let ok, num = Int32.TryParse(Console.ReadLine())
match ok with
| false -> listSoFar
| true -> getNumList num::listSoFar

let l = getNumList []

我得到的错误:

Type mismatch. Expecting a 'a
but given a 'a list

我知道我使用的类型不正确,但我不明白到底哪里出了问题。非常感谢任何解释。

最佳答案

在匹配分支中

| true -> getNumList num::listSoFar

你应该使用括号:

| true -> getNumList (num::listSoFar)

因为函数应用比::操作符有更高的优先级

关于F#:根据用户输入创建整数集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26958538/

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