如果你有一個清單,如這在Haskell:
函數來顯示的最低代表元素在列表中
data TestType = A | B | C deriving (Ord, Eq, Show)
List1 :: [TestType]
List1 = [A,B,C,B,C,A,B,C,C,C]
是否可以編寫一個函數來determin哪個元素表示在列表中至少(所以在這種情況下,「A」)
我最初的想法是寫一個輔助函數,例如這個,但現在我不知道這是正確的做法:
appears :: TestType -> [TestType] -> Int
appears _ [] = 0
appears x (y:ys) | x==y = 1 + (appears x ys)
| otherwise = appears x ys
對於Haskell我還是比較新的,所以對這個潛在的愚蠢問題表示歉意。
非常感謝
我知道必須有一個更漂亮的方式來做到這一點。太好了! – 2012-02-18 11:54:21
太棒了!就是我所追求的! – 2012-02-18 12:00:03
比我的更加漂亮,很快+1 – epsilonhalbe 2012-02-18 12:07:23