Haskell語言Prelude模塊中函數scanl的用法及代碼示例。
用法類型:
(a -> b -> a) -> a -> [b] -> [a]
它接受第二個參數和列表的第一項並將函數應用到它們,然後將結果和第二個參數供以函數,依此類推。它返回中間結果和最終結果的列表。
示例1:
輸入:
scanl (/) 64 [4,2,4]
輸出:
[64.0,16.0,8.0,2.0]
示例2:
輸入:
scanl (/) 3 []
輸出:
[3.0]
示例3:
輸入:
scanl max 5 [1,2,3,4]
輸出:
[5,5,5,5,5]
示例4:
輸入:
scanl max 5 [1,2,3,4,5,6,7]
輸出:
[5,5,5,5,5,5,6,7]
示例5:
輸入:
scanl (\x y -> 2*x + y) 4 [1,2,3]
輸出:
[4,9,20,43]
相關用法
- haskell foldl用法及代碼示例
- haskell foldl1用法及代碼示例
- haskell foldr用法及代碼示例
- haskell foldr1用法及代碼示例
- haskell scanl1用法及代碼示例
- haskell scanr用法及代碼示例
- haskell scanr1用法及代碼示例
注:本文由純淨天空篩選整理自 haskell scanl。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。