当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


haskell ixmap用法及代码示例


Haskell语言Array模块中函数ixmap的用法及代码示例。

用法类型:

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

从现有数组派生新数组,它允许对数组索引进行转换

示例1:

输入:
ixmap (2,4) (\i -> i)  (array (1,5) [(1,1),(2,2),(3,3),(4,4),(5,5)])
         
输出:
array (2,4) [(2,2),(3,3),(4,4)]
         

示例2:

输入:
ixmap (0,2) (\i -> i+2)  (array (1,5) [(1,'A'),(2,'B'),(3,'C'),(4,'D'),(5,'E')])
         
输出:
array (0,2) [(0,'B'),(1,'C'),(2,'D')]
         

示例3:

输入:
ixmap (1,2) (\i -> (i-1,i-1))  (array ((0,0),(1,1)) [((0,0),'A'),((1,0),'C'),((0,1),'D'),((1,1),'B')])
         
输出:
array (1,2) [(1,'A'),(2,'B')]
         

示例4:

输入:
ixmap ((0,0),(1,1)) (\i -> (snd i, fst i))  (array ((0,0),(1,1)) [((0,0),'A'),((1,1),'B'),((1,0),'C'),((0,1),'D')])
         
输出:
array ((0,0),(1,1)) [((0,0),'A'),((0,1),'C'),((1,0),'D'),((1,1),'B')]
         

注:本文由纯净天空筛选整理自 haskell ixmap。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。