F#元组模式匹配问题

时间:2011-02-02 21:55:08

标签: f# design-patterns matching tuples

有没有办法在F#中进行模式匹配,以便检查两个元素元组中的两个元素是否相等。我对F#非常陌生,也是模式匹配整体概念的新手。我正在思考...... ...

let rec funct = function
    |(xs, xs) -> 0
    etc. etc. etc.

但我想这太容易了。有什么建议?或者甚至有办法做到这一点?谢谢你的帮助,你们非常乐于助人!

2 个答案:

答案 0 :(得分:5)

答案 1 :(得分:2)

Brian的回答是正确的,但是既然你也问过其他方法我会添加一个替代方案 - 我通常不会使用match来处理元组,因为简单的分解总是会成功(除非你使用一些复杂的模式或when)。在编写函数时,我可能会写:

let funct (x, y) = 
  if x = y then ...
  else ...

(但当然,这取决于上下文 - if可能对小函数有用)