... |-6ren">
gpt4 book ai didi

f# - 模式匹配数字字符串

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

我有一个模式匹配其参数的函数,它是一个 string :

let processLexime lexime
match lexime with
| "abc" -> ...
| "bar" -> ...
| "cat" -> ...
| _ -> ...

这按预期工作。但是,我现在试图通过表达“匹配仅包含以下字符的 string”来扩展它。在我的具体示例中,我想要任何只包含数字的内容进行匹配。

我的问题是,如何在 F# 中表达这一点?我更愿意在没有任何库的情况下执行此操作,例如 FParsec ,因为我这样做主要是为了学习目的。

最佳答案

您可以使用事件模式:https://msdn.microsoft.com/en-us/library/dd233248.aspx

let (|Integer|_|) (str: string) =
let mutable intvalue = 0
if System.Int32.TryParse(str, &intvalue) then Some(intvalue)
else None

let parseNumeric str =
match str with
| Integer i -> printfn "%d : Integer" i
| _ -> printfn "%s : Not matched." str

关于f# - 模式匹配数字字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34969683/

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