这两种模式匹配的哪种方式更优选?

时间:2013-02-17 01:07:44

标签: performance functional-programming pattern-matching ocaml preference

我只是好奇,这两个功能会做同样的事情。但是我应该使用哪一个?

let f a =
    match a with
        b -> a;; 
let f a =
    match a with
        b -> b;;

或者只取决于您的偏好?
我觉得第二个会更好,但我不确定。

2 个答案:

答案 0 :(得分:8)

表现明智没有区别。样式b -> a有点问题,因为你有一个未使用的变量b_ -> a会更有意义。除此之外,这只是偏好。

就我个人而言,我希望_ -> a超过b -> b,因为它不会引入额外的变量。

PS:我认为在您的真实代码中,案例不仅仅是b - 否则您只能写let f a = a

答案 1 :(得分:1)

另外,在您的特定示例中,我将使用function

重写
let f = function
      | b -> b