我有以下问题(Haskell - The Craft of Functional Programming):
给出函数的定义
howManyEqua1 :: Int -> Int -> Int -> Int
它返回它的三个参数中有多少是相等的,所以
howManyEqua1 :: 34 25 36 = 0
howManyEqual :: 34 25 34 = 2
howManyEqual :: 34 34 34 = 3
我给出的答案是:
howManyEqual :: Int -> Int -> Int -> Int
howManyEqual a b c
| a == b && b == c = 3
| a == b = 2
| b == c = 2
| a == c = 2
| otherwise = 0
但是,我相信有更好的分类方法,但不确定如何分类。