एफ # सीखने की कोशिश कर रहा है, लेकिन गुना और कम के बीच अंतर करने की कोशिश करते समय भ्रमित हो गया । गुना एक ही काम करने लगता है, लेकिन एक अतिरिक्त पैरामीटर लेता है। क्या इन दोनों कार्यों के मौजूद होने का कोई वैध कारण है या वे अलग-अलग पृष्ठभूमि वाले लोगों को समायोजित करने के लिए हैं? (जैसे: स्ट्रिंग और स्ट्रिंग # C में)
यहाँ कोड स्निपेट नमूना से कॉपी किया गया है:
let sumAList list =
List.reduce (fun acc elem -> acc + elem) list
let sumAFoldingList list =
List.fold (fun acc elem -> acc + elem) 0 list
printfn "Are these two the same? %A "
(sumAList [2; 4; 10] = sumAFoldingList [2; 4; 10])
fold
संदर्भ में लागू करने की reduce
तुलना में अधिक जटिल है - fold
सूची में चीजों के प्रकार के समान संचायक का प्रकार नहीं होना चाहिए!
fold f a l
लिखा जा सकता हैreduce f a::l
।