başarılı biterken sadece aşağıdaki liste var düşünün başarılı: mercek kütüphanesini kullanmaiki kıvrımlar veya getters uygulayın ve hem
lst :: [(Bool, Maybe Integer)]
lst = [(True, Just 3), (True, Nothing), (False, Just 12)]
, ben dizilerini unsurları ayıklamak istiyorum ama sadece başarılı olmak istiyorum ikinci eleman Just
olduğunda.
> lst ^.. folded.split (_1.to not) (_2._Just)
[(False, 3), (True, 12)]
Kendimi böyle split
uygulayabilirsiniz:
split :: Getting (First a) s a -> Getting (First b) s b -> Fold s (a, b)
split a b = folding (\x -> (,) <$> (x ^? a) <*> (x ^? b))
... iş gibi görünüyor bu gibi çalışır bazı optik, split
istiyorum. Ancak, bu, tekerleği yeniden icat etmem gerekiyormuş gibi görünüyor. Objektif kütüphanesi tarafından bunu zaten güzel bir şekilde gerçekleştiren bir şey var mı?