gpt4 book ai didi

validation - F#强制用户输入整数

转载 作者:行者123 更新时间:2023-12-02 17:13:07 26 4
gpt4 key购买 nike

假设我要使用以下内容读取用户的输入:

let input = Console.ReadLine()

我如何验证用户的输入,以便它必须是整数,否则会显示错误消息?

最佳答案

稍微扩展@s952163 的评论。

您可以像这样以典型方式进行验证:

let parse (s: string) =
match (System.Int32.TryParse(s)) with
| (true, value) -> value
| (false, _) -> failwith "Invalid int"

请注意,此函数具有 int 返回类型以及异常的隐式返回类型。

解析整数的更惯用的方法是纯函数:

let parse (s: string) =
match (System.Int32.TryParse(s)) with
| (true, value) -> Ok value
| (false, _) -> Error "Invalid int"

此函数的返回类型为 Result,这意味着所有输入都映射到显式输出。

然后,更大的程序可以由函数组成,这些函数仅使用可以使用 Result 模块中的组合器(如 map 和 bind)解析输入的情况。

https://learn.microsoft.com/en-us/dotnet/fsharp/language-reference/results

关于validation - F#强制用户输入整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48087782/

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