这两种模式匹配方式,哪一种更受欢迎?

4

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

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

还是这取决于你的个人偏好?
我觉得第二个更好,但我不确定。

2个回答

8
性能上没有区别。从样式上看,b -> a 有些问题,因为你有一个未使用的变量 b_ -> a 更有意义。除此之外,这只是个人偏好。
就我个人而言,我更喜欢 _ -> a 而不是 b -> b,因为它不会引入额外的变量。
PS:我假设在你的真实代码中,有比只有 b 更多的情况 - 否则你可以直接写成 let f a = a

1
此外,在您的特定示例中,我会使用 function 进行重写。
let f = function
      | b -> b    

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接