【问题标题】:Which way of these two pattern matching is more preferred?这两种模式匹配中哪种方式更受欢迎?
【发布时间】:2013-02-17 01:07:43
【问题描述】:
我只是好奇,这两个函数会做同样的事情。但是我应该使用哪一个?
let f a =
match a with
b -> a;;
let f a =
match a with
b -> b;;
还是只取决于您的喜好?
我觉得第二个会更好,但我不确定。
【问题讨论】:
标签:
performance
functional-programming
pattern-matching
ocaml
preference
【解决方案1】:
性能方面没有区别。样式方面的b -> a 有点问题,因为您有一个未使用的变量b。 _ -> a 会更有意义。除此之外,这只是偏好。
我个人更喜欢_ -> a 而不是b -> b,因为它不会引入额外的变量。
PS:我假设在你的真实代码中,除了b 之外还有更多的情况——否则你可以写let f a = a。
【解决方案2】:
另外,在您的特定示例中,我将使用 function 重写
let f = function
| b -> b