我剛剛寫了這個功能,只是需要一對,其第二個值是在一些單子,和「拉單子去」覆蓋整個對。這個簡單的Haskell函數是否已經有一個衆所周知的名字?
unSndM :: Monad m => (a, m c) -> m (a, c)
unSndM (x, y) = do y' <- y
return (x, y')
是否有更好和/或更短或無點或甚至標準的方式來表達?
我得儘可能下文中,-XTupleSections開啓...
unSndM' :: Monad m => (a, m c) -> m (a, c)
unSndM' (x, y) = y >>= return . (x,)
謝謝!
標籤'code-golf'的規則:http://stackoverflow.com/tags/code-golf/info – Nakilon 2010-10-22 23:53:03
不夠公平。該網站讓我添加標籤而不告訴我有與之相關的規則。 *聳聳肩* – gimboland 2010-10-23 08:52:24