【发布时间】:2011-08-24 15:27:33
【问题描述】:
我有以下问题(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
不过,我相信有更好的分类方法,但不确定如何分类。
【问题讨论】:
-
为什么我还没有任何答案?
-
Stack Overflow 不是独角兽。如果他们愿意,人们会回答。 :)
-
...但是当独角兽出现时,他们会带着气球。太棒了。
标签: haskell programming-languages equals guard