fold

    -1熱度

    2回答

    我有去一個數據類型: BinHeap a = [BinTree a] BinTree a = Node a i (BinHeap a) 我想要的功能要經過一個二叉樹和給我一個最小。 extractMin :: BinHeap a -> a extractMin ps = foldl1 (\(Node x y z) (Node x' y' z') -> Node (smaller x x

    8熱度

    2回答

    Foldable是Traversable的超類,與Functor是Applicative和Monad的超類相似。 到Monad,它是可能的情況類似,基本實現fmap作爲 liftM :: Monad m => (a->b) -> m a -> m b liftM f q = return . f =<< q 我們也可以使用Monoid m => (,) m單子效仿foldMap作爲 fold

    0熱度

    2回答

    我不斷收到這個錯誤,我不能明白爲什麼 sumSquares a = map (^2) a . foldr (+) 0 進出口加起來號碼列表的平方。

    2熱度

    1回答

    我有以下代碼。我花了很多時間試圖弄清楚它爲什麼會抱怨List.foldback函數的第二個參數。它抱怨它要「acc」爲(char * bool *(Direction - > int * int)* int)。這對我來說沒有任何意義,因爲documentation表明它只是匹配「狀態」。在這種情況下,我正在努力制定「國家一級」運動名單「。 對於我在做什麼的完整說明,請訪問the Code golf

    2熱度

    1回答

    當我只需要一個答案時,我該如何使fold {l,r}終止? 假設我有一個布爾值b1,b2,b3,...的列表,並且我想將它們全部放在一起。我如何獲得折扣以停止第一個真實價值?

    4熱度

    1回答

    假設我想將列表中的所有元素加起來,但不包括第一個負數,並返回數字和列表的其餘部分。最簡單的方法做,這是 addPos l = s `seq` (s,back) where (front, back) = span (>= 0) l s = sum front 其中seq應確保沒有人意外通過強制和前背部建立一個巨大的thunk。 但是,我很好奇GHC是否足夠聰明

    4熱度

    2回答

    我想獲得一個函數工作,使用foldl 來通過元組列表並從中創建一個字符串。 我正試圖創建一個類似的函數,它已經可以使用遞歸。 這裏是我想要編譯代碼: citeBook :: (String, String, Integer) -> String citeBook (name, titl, date) = (titl ++ " (" ++ name ++ ", " ++ show date ++

    6熱度

    4回答

    我有一個基於字母的整數列表。例如: let charlist = map (ord) "ABCDEF" charlist隨後將如下所示: [65,66,67,68,69,70] 我也有三個功能列表:(+),(-)和(*)。在這個例子中的列表看起來像這樣 let funclist = [(+), (-), (*)] 我想在charlist應用功能爲了元素之間(如果有更多的「空間」在cha

    3熱度

    1回答

    我有計算功能f(x) = (2- x) - (2^3 - x^3/12) calc x = (x - (x^3)/12) calc2 x = (calc 2) - (calc x) calcList1 :: [Float] -> Float calcList1 l = foldl (+) 0.0 (map calc2 l) calcList2 :: [Float] -> Float

    0熱度

    3回答

    def fold2(op, term, a, next, b, base): if a > b: return base else: return op (term(a), fold2(op, term, next(a), next, b, base)) def geometric_series(a, r, n): return fol