我有一門關於函數式編程的大學課程,我使用SML。作爲考試的準備,我正在研究一些沒有解決方案的老考試。SML foldl函數 - 在條件列表中添加
一個唯一的問題我真的有問題,是使用foldl
以下問題:
考慮程序框架:樂趣 addGtķXS = List.foldl(...)... XS ; 填充兩個缺件 (用點表示),以便 addGt k xs是xs中那些元素的總和,它們大於 k。例如,addGt 4 - [1,5,2,7, 4,8] = 5 + 7 + 8 = 20
我相信這是很容易的,但我有一個非常很難理解的foldl和foldr功能。
我現在有如下(這似乎如果你問我的編譯器是非常錯誤的!):
fun addGt(k,xs) = List.foldl (fn x => if x > k then op+ else 0) 0 xs;
我真的很感激一些幫助這個問題,也許在很短的評論,其會在foldl
和foldr
功能上投下一些光!
非常感謝。
非常感謝您的解答和回答!:-) – 2011-05-11 11:40:35