簡體   English   中英

在Haskell中,如何生成任意數量的可變變量並將它們放入一個向量中?

[英]In Haskell, how to generate an arbitrary number of mutable variables and put them in a vector?

假設我想制作 4 個可變的 arrays 然后稍后訪問它們並根據它們的向量索引對它們進行變異:

 fn = do $
     v1 <- newMArray (Sz1 1) 0
     v2 <- newMArray (Sz1 1) 0
     v3 <- newMArray (Sz1 1) 0
     v4 <- newMArray (Sz1 1) 0
     let vls = Data.Vector.fromList [v1,v2,v3,v4]
     loopM 0 (<= 3) (+1) (\k -> modifyM_ (vls ! k) (+1) 0)
     
 
    

現在,我將如何通過將 integer N 作為參數提供給fn來生成 N 個可變 arrays ?

generateM將帶您到達 go 所需的位置。

generateM 4 (\_ -> newMArray (Sz1 1) 0)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM