Aşağıdaki örnekte açık bir özyineleme olmaksızın bir yapıcının ilk oluşumunu bir listede bulmanın iyi bir yolu var mı?Belirli bir kurgunun ilk oluşumunu bir listeden almanın deyimsel yolu
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
Bu güzel, teşekkürler! – martingw
Bu çözümün, yalnızca istenen veri yapıcısından daha fazla kalıp eşlemesine sahip olan geçici çözüm için liste kavramasını nasıl kullandığını gerçekten seviyorum. Cevabında @hammar tarafından kullanılan boş kayıt deseni kullanılarak geliştirilebilir. –
@ IonuțG.Stan, geleceği kanıtlayacaktı. –