首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >F#:从用户输入创建整数集合

F#:从用户输入创建整数集合
EN

Stack Overflow用户
提问于 2014-11-16 15:21:54
回答 1查看 355关注 0票数 3

我对F#相当陌生,所以这个问题可能是相当初级的。尽管如此,我还是找不到任何建议。

我在F#中玩一个算法任务。作为第一步,我希望从用户控制台输入创建一个整数集合。没有定义输入的数量。我也不习惯使用任何while循环。我希望尽可能多地采用惯用的方法。

在一个递归函数中,我正在读取结果并使用Int32.TryParse解析它。我使用match ... with匹配bool结果。如果成功,则向集合附加一个新值。否则,我将返回集合。

下面是我的代码:

代码语言:javascript
复制
let rec getNumList listSoFar =
    let ok, num = Int32.TryParse(Console.ReadLine())
    match ok with
        | false -> listSoFar
        | true -> getNumList num::listSoFar

let l = getNumList []

我所犯的错误是:

类型错配。期待一场 但给了一份清单

我知道我使用的类型不正确,虽然我不明白到底是什么错了。任何解释都非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-16 15:36:13

在火柴支部

代码语言:javascript
复制
| true -> getNumList num::listSoFar

你应该使用括号:

代码语言:javascript
复制
| true -> getNumList (num::listSoFar)

因为函数应用程序比::运算符具有更高的优先级

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26958538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档