【发布时间】:2009-01-26 18:08:41
【问题描述】:
我是 F# 的新手,我想用 (match ... with ...) 语法比较两个值
当我尝试像这样比较两个值时会出现问题:
let value1 = 19
let isValue1 y =
match y with
| value1 -> y + 1
| _ -> y
我收到一条警告说永远无法到达代码的“| _ -> y”部分。这是为什么呢?
我知道我可以执行以下操作来让函数按我想要的方式工作:
let value1 = 19
let isValue1 y =
match y with
| _ when y = value1 -> true
| _ -> false
这个也可以
let value1 = 19
let isValue1 y =
match y with
| 19 -> true
| _ -> false
我只是好奇为什么我不能这样做,以及 match 的实际工作原理。
【问题讨论】:
标签: f# pattern-matching