Haskell Language
zipWithM
खोज…
परिचय
zipWithM
है zipWith
रूप mapM
है map
: यह आपको एक monadic समारोह का उपयोग कर दो सूचियां संयोजित करने देता है।
मॉड्यूल Control.Monad
से। Control.Monad
वाक्य - विन्यास
- zipWithM :: आवेदनकर्ता m => (a -> b -> mc) -> [a] -> [b] -> m [c]
बिक्री की कीमतों की गणना
मान लीजिए कि आप देखना चाहते हैं कि बिक्री मूल्य का एक निश्चित सेट किसी स्टोर के लिए समझ में आता है या नहीं।
मूल रूप से आइटम की कीमत $ 5 है, इसलिए आप बिक्री को स्वीकार नहीं करना चाहते हैं यदि बिक्री मूल्य उनमें से किसी के लिए कम है, लेकिन आप जानना चाहते हैं कि नई कीमत अन्यथा क्या है।
एक मूल्य की गणना करना आसान है: आप बिक्री मूल्य की गणना करते हैं, और लाभ Nothing
पर Nothing
लौटाते हैं:
calculateOne :: Double -> Double -> Maybe Double
calculateOne price percent = let newPrice = price*(percent/100)
in if newPrice < 5 then Nothing else Just newPrice
संपूर्ण बिक्री के लिए इसकी गणना करने के लिए, zipWithM
इसे वास्तव में सरल बनाता है:
calculateAllPrices :: [Double] -> [Double] -> Maybe [Double]
calculateAllPrices prices percents = zipWithM calculateOne prices percents
यदि बिक्री मूल्य $ 5 से कम है तो यह Nothing
भी Nothing
लौटाएगा।
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow