當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


haskell accumArray用法及代碼示例

Haskell語言Array模塊中函數accumArray的用法及代碼示例。

用法類型:

Ix a => (b -> c -> b) -> b -> (a,a) -> [(a,c)] -> Array a b

通過使用將具有相同索引的關聯值組合在一起的累加函數,放寬了給定索引最多隻能在關聯列表中出現一次的限製。第一個論點accumArray是累加函數;第二個是初始值;其餘兩個參數是一個邊界對和一個關聯列表,與數組函數一樣。

示例1:

輸入:
accumArray (+) 0 (1,3) [(1,2),(1,4),(2,1),(2,2),(2,3),(3,5)]
         
輸出:
array (1,3) [(1,6),(2,6),(3,5)]
         

示例2:

輸入:
accumArray (++) "" (1,3) [(1,"H"),(3,"y"),(1,"i"),(2,","),(3,"ou")]
         
輸出:
array (1,3) [(1,"Hi"),(2,","),(3,"you")]
         

示例3:

輸入:
accumArray (\x y-> x ++ y ++ "-") "XXX:" (1,3) [(1,"H"),(3,"y"),(1,"i"),(2,","),(3,"ou")]
         
輸出:
array (1,3) [(1,"XXX:H-i-"),(2,"XXX:,-"),(3,"XXX:y-ou-")]
         

相關用法


注:本文由純淨天空篩選整理自 haskell accumArray。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。