【发布时间】:2013-10-25 14:15:30
【问题描述】:
如果我有一个函数,它接受一个字符串并说返回一个 int,我可以使用模式匹配来匹配字符串的第一个字符:
f :: String -> Int
f ('A' : _) = 1
f ('B' : _) = 0
f ('C' : _) = 1
f _ = 2
有没有办法将 A 或 C 匹配为一个? 比如:
f :: String -> Int
f ('A'||'C' : _) = 1
f ('B' : _) = 0
f _ = 2
甚至这个(如果有一些计算而不是仅仅返回一个常量,这将很有用)
f :: String -> Int
f ('A' : _)
f ('C' : _) = 1
f ('B' : _) = 0
f _ = 2
【问题讨论】: