簡體   English   中英

關於可折疊 Maybe 實例的問題

[英]Question about the Foldable Maybe instance

資料來源:赫頓,格雷厄姆。 Haskell 中的編程”(第 267 頁)

  1. 通過給出 fold、foldMap、foldr、foldl 和 traverse 的明確定義,展示如何使 Maybe 類型可折疊和可遍歷。

我做了foldr定義。 為了檢查我的解決方案,我在網上找到了這段代碼:

 -- foldr :: (a -> b -> b) -> b -> Maybe a -> b
    foldr _ _ Nothing = mempty
    foldr f v (Just a) = f a v

似乎應該在基本情況下返回累加器(而不是mempty )。 那正確嗎?

是的,您正在查看的代碼是偽造的,甚至無法編譯。 它應該做你所說的:

foldr _ v Nothing = v

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM