有没有办法在F#的比赛中进行比赛?我注意到你可以像其他人一样做尾巴...
match L.Head with
| null -> []
| _ -> match N with
| 1 -> [L.Head]
| _ -> []
但有没有办法做到这一点,以_结尾的匹配可以放在另一场比赛的MIDDLE中?这似乎给了一个错误...有没有更好的方法来做到这一点,你需要它为你的逻辑吗? EX:
match A with
| 0 -> match B with
| 1 -> 1
| _ -> 0
| _ -> 2
答案 0 :(得分:7)
为什么不在元组上使用匹配 -
match (A,B) with
|0,1 -> 1
|0,_ -> 0
|_, -> 2
答案 1 :(得分:0)
不确定 7 年前是否可行,但现在您可以使用 struct
来减少分配:
match struct (A, B) with
| 0, 1 -> 1
| 0, _ -> 0
| _ -> 2
旧答案会创建 System.Tuple`2
的实例,而这会创建 System.ValueTuple`2
的实例
Decompilation