Evet, Belki bir Arg'yi veya başka bir Monad türünü kabul eden bir fonksiyonum var.Tek satırlı bir Monad'den gerçek VEYA varsayılan değer nasıl elde edilir?
func1 :: Maybe Int -> Int
func1 mbArg =
let var1 = case myArg of
Just x -> x
Nothing -> -1
-- ....
aynı şeyi ama mapM
, mapM_
veya fmap
veya <$>
veya benzeri bir şey gibi bir şey kullanarak yapmak için başka bir yolu var mı? Yani, değer olup olmadığını kontrol edin ve eğer yoksa, OR eğer varsayılan değeri geri almazsa gerçek değeri çıkartın. Başka bir deyişle
, ben böyle bir şey yapmak istiyorum:
my_val = get_value_or_my_arg() || -1
hat fonksiyonu tek derken fmap gibi monads ile çalışır bazı işlev demek.
[Nasıl] (http://stackoverflow.com/q/36602353/1126841) [birçok] (http://stackoverflow.com/q/36603904/1126841) kez aynı soruyu soracak mısın? – chepner
@chepner, bence 8. Ne zaman sordum? –