“or”表达式的Haskell语法

在F#中,我可以使用|组合案例时进行模式匹配。例如,

let rec factorial n = 
  match n with
  | 0 | 1 -> 1                 // like in this line
  | _ -> n * factorial (n - 1)

同样的Haskell语法是什么?

对于不同的模式,没有办法共享相同的右手边。但是,您通常可以通过使用保护而不是模式来解决此问题,例如使用elem

foo x | x `elem` [A, C, G] = ...
      | x `elem` [B, D, E] = ...
      | otherwise          = ...
http://stackoverflow.com/questions/7603509/haskell-syntax-for-or-in-case-expressions

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:“or”表达式的Haskell语法