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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。