anda buHaskell haritaları
lookup :: (Monad m, Ord k) => k -> Map k a -> m a
daha genel türü için kullanılan
lookup :: Ord k => k -> Map k a -> Maybe a
tür imzası ile Belki sarılı değerleri döndürür Data.Map ve Data.IntMap içinde arama fonksiyonu
Birincisi, muhtemelen ekstra tip belirtimi ihtiyacını azalttığını farkettim, ancak ikincisi onu çok daha genel hale getirecek ve liste kavramalarında arama yapılmasına izin verecektir. Bu davranışı daha yeni sürümle taklit etmenin bir yolu var mı, yoksa kütüphanenin eski bir sürümünü mi kullanmalıyım? tek hücreli sınıfları çoğunluğu error
olarak başarısız tanımlamak olarak
Bu, başarısızlık kullanımının neden kötüye kullanıldığını mükemmel bir şekilde gösterir: neredeyse her zaman bir program sonlandırması istisnasıdır. Haritalara bakarken istediğin şey değil. –
Şey, "başarısızlığı uygulayan monadlar" dedim, değil mi? -) 'error' undefined uygulanmadı. Ben de bu davayı açıklamak istedim. Şahsen ben de monad bir 'MonadPlus' olduğunda ve 'mzero' olarak 'başarısız' uygularsa, bloklar halinde desen eşleşmesi başarısızlığı kullanıyorum. Bu tekniğin en kullanışlı olduğu zamandır. – claus