相关疑难解决方法(0)

如何在'let'定义中使用模式匹配?

我刚刚注意到F#允许我使用带有文字和其他模式的let绑定,如下所示:

let fib 0 = 1
let exists item [] = false
let car (hd :: tl) = hd
let cdr (hd :: tl) = tl
Run Code Online (Sandbox Code Playgroud)

F#正确地将这些函数解释为一种模式匹配,因为我给出了以下警告:

警告1此表达式的不完整模式匹配.例如,值"1"将不匹配

警告2此表达式的不完整模式匹配.例如,值"[_]"将不匹配

等等

这些函数按预期工作,但我想用这种样式定义一个具有完全模式匹配的函数,但是我在F#手册中找不到关于这种替代模式匹配语法的任何信息.

我知道我可以使用let whatever = function ...let whatever x = match x with ...获得我想要的结果,但我刚刚发现了另一种模式匹配的语法,如果我不知道如何使用它,它会永远唠叨我.

如何使用上面显示的替代模式匹配语法编写函数?

syntax f# pattern-matching

10
推荐指数
3
解决办法
1889
查看次数

标签 统计

f# ×1

pattern-matching ×1

syntax ×1