सबसे पहले, रियल वर्ल्ड हास्केल , जिसे मैं पढ़ रहा हूं, कहता है कि कभी उपयोग न करें foldl
और इसके बजाय उपयोग करें foldl'
। इसलिए मुझे इस पर भरोसा है।
लेकिन मैं foldr
बनाम जब उपयोग करने के लिए धुंधला हूँ foldl'
। हालाँकि मैं इस बात की संरचना देख सकता हूँ कि वे मेरे सामने अलग तरीके से कैसे काम करते हैं, मैं यह समझने में बहुत मूर्ख हूँ कि "कौन बेहतर है।" मुझे लगता है कि यह मेरे लिए ऐसा लगता है जैसे कि वास्तव में इसका उपयोग नहीं किया जाना चाहिए, क्योंकि वे दोनों एक ही जवाब देते हैं (वे नहीं?)। वास्तव में, इस निर्माण के साथ मेरा पिछला अनुभव रूबी inject
और क्लोजर का है reduce
, जो "बाएं" और "दाएं" संस्करण नहीं लगते हैं। (साइड सवाल: वे किस संस्करण का उपयोग करते हैं?)
कोई भी अंतर्दृष्टि जो मेरे जैसे स्मार्ट-चुनौती वाले प्रकार की मदद कर सकती है, बहुत सराहना की जाएगी!