How to make setters in 2D Array Haskell

后端 未结 2 438
一个人的身影
一个人的身影 2021-01-25 17:50

I currently have a 2D array declared as:

import Data.Array.Unboxed
listArray ((0,0), (9,9)) (replicate 100 \'f\') ∷  UArray (Int, Int) Char

I a

2条回答
  •  不思量自难忘°
    2021-01-25 18:30

    The simplest update function for arrays is (//), which has this type:

    (//) :: (IArray a e, Ix i) => a i e -> [(i, e)] -> a i e 
    

    For example:

    Data.Array.Unboxed> listArray (0, 4) "abcde" // [(1, 'f')] :: UArray Int Char
    array (0,4) [(0,'a'),(1,'f'),(2,'c'),(3,'d'),(4,'e')]
    

    You can access particular elements with (!):

    Data.Array.Unboxed> it ! 1
    'f'
    

提交回复
热议问题