小编gib*_*sin的帖子

在Haskell中,如何将不可变数组从特定索引复制到可变数组中

我有两个以下类型的数组:

a :: IOArray Word16 Word16
b :: [Word16]
Run Code Online (Sandbox Code Playgroud)

我想一个函数copyAtPositionI那份阵列中的所有元素b到数组一个数组的第i个指标在开始一个.可以假设索引不会尝试将元素复制到数组a的边界之外.

该函数应为以下类型:

copyAtPositionI :: IOArray Word16 Word16 -> [Word16] -> Word16 -> IO ()
Run Code Online (Sandbox Code Playgroud)

例如(这不是Haskell),

a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
b = [10, 11, 12, 13]
Run Code Online (Sandbox Code Playgroud)

copyAtPositionI AB 3应产生一个等于[1,2,3,10,11,12,13,8,9]

我没有在Data.Array.IO包中找到任何完全符合我想要的功能.我只在Data.Array.MArray包中找到了函数writeArray,但我不知道如何为数组b中的每个元素执行该函数.

arrays haskell functional-programming copy

0
推荐指数
1
解决办法
155
查看次数

标签 统计

arrays ×1

copy ×1

functional-programming ×1

haskell ×1