我一直在以某種形式或其他形式出現這個問題。讓我們說我想要一個數字x並將一系列高階函數應用於x產生y。然後我檢查y是否滿足某個屬性,如果是,那麼我想返回x。通過高階函數傳遞數據
這個問題似乎變得非常棘手,當我有一個數字[x1,x2..xn]列表和我申請的函數縮合列表。例如,我將函數應用於列表中的每個元素(生成[y1,y2 ..]),排序,組,然後我想返回最大組的x值。例如:
head . reverse . sort . map (length) . group . sort . map (mod 4) $ [1..10]
答案是6,但我會如何改寫這樣的功能,告訴我哪些元素號1至10屬於這6個?
我已經玩過了傳遞元組並使用fst的想法,直到需要snd爲止,或者編寫一個新類來使它像sort一樣只能在類的一個元素上工作,但是我不能似乎拿出一個乾淨的辦法
感謝您的幫助。
謝謝,這看起來比我想象的要乾淨得多。我開始明白,沒有像這樣的問題的一般方法。 – 2011-02-07 04:52:36