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