有没有办法在F#中进行模式匹配,以便检查两个元素元组中的两个元素是否相等。我对F#非常陌生,也是模式匹配整体概念的新手。我正在思考...... ...
let rec funct = function
|(xs, xs) -> 0
etc. etc. etc.
但我想这太容易了。有什么建议?或者甚至有办法做到这一点?谢谢你的帮助,你们非常乐于助人!
答案 0 :(得分:5)
match e with
| x,y when x = y -> ...
...
答案 1 :(得分:2)
Brian的回答是正确的,但是既然你也问过其他方法我会添加一个替代方案 - 我通常不会使用match
来处理元组,因为简单的分解总是会成功(除非你使用一些复杂的模式或when
)。在编写函数时,我可能会写:
let funct (x, y) =
if x = y then ...
else ...
(但当然,这取决于上下文 - if
可能对小函数有用)