我对 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 是如何工作的。