Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F#:从用户输入创建整数集合_F# - Fatal编程技术网

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

F#:从用户输入创建整数集合,f#,F#,我对F#比较陌生,所以这个问题可能相当简单。尽管如此,我还是找不到任何建议 我在玩F#中的一个算法任务。作为第一步,我想从用户控制台输入创建一个整数集合。未定义输入的数量。我不习惯在循环时使用任何。我更喜欢尽可能多的惯用方法 在递归函数中,我读取结果并用Int32.TryParse对其进行解析。我使用match。。。使用。如果成功,我将向集合附加一个新值。否则,我将退回收藏 下面是我的代码: let rec getNumList listSoFar = let ok, num = Int

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

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

在递归函数中,我读取结果并用
Int32.TryParse
对其进行解析。我使用
match。。。使用
。如果成功,我将向集合附加一个新值。否则,我将退回收藏

下面是我的代码:

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

let l = getNumList []
我得到的错误是:

类型不匹配。期待 “a
但是给一个 "名单",

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

在match branch

| true -> getNumList num::listSoFar
应使用括号:

| true -> getNumList (num::listSoFar)
因为函数应用程序的优先级高于
运算符