4

我只是好奇,这两个功能会做同样的事情。但是我应该使用哪一个?这两种模式匹配更适合哪种方式?

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

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

回答

8

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

我个人更喜欢_ -> a而不是b -> b,因为它不会引入额外的变量。 PS:我假设在你的真实代码中有更多的情况,而不仅仅是b - 否则你可以只写let f a = a

+0

谢谢您的解释! – octref 2013-02-17 03:53:23

1

此外,在具体的例子我想重写使用function

let f = function 
     | b -> b