से किसी विशिष्ट निर्माता के पहले अवसर को लाने का बेवकूफ तरीका क्या नीचे दिए गए नमूने में स्पष्ट रिकर्सन के बिना किसी सूची में किसी निर्माता की पहली घटना को खोजने का कोई अच्छा तरीका है?सूची
data Elem = A Int | B Char deriving Show
getA :: [Elem] -> Maybe Elem
getA [] = Nothing
getA (e:es) =
case e of
A a -> Just (A a)
_ -> getA es
यह एक अच्छा है, धन्यवाद! – martingw
मुझे सचमुच यह पसंद है कि यह समाधान केवल वांछित डेटा कन्स्ट्रक्टर से अधिक पैटर्न मिलान करने के लिए वर्कअराउंड के लिए सूची समझ का उपयोग कैसे करता है। इसे अपने जवाब में @hammar द्वारा उपयोग किए गए रिक्त रिकॉर्ड पैटर्न का उपयोग करके बेहतर किया जा सकता है। –
@ IonuţG.Stan सहमत हो गया, यह भविष्य के सबूत होगा। –