Öğeleri, oluşturuldukları sırada sık sık güncelleştirildiklerinden, dönüştürülebilir olması gereken bir ağaçtan, matlaştırılmış bir matris listesi oluşturuyor. ,map runSTArray STArrays'in bir listesi üzerinde mi?
doAll :: .. -> [ST s (STArray s (Int, Int) Int)]
nedeni doğrudan doAll
yinelemeli olarak adlandırılır, çünkü [UArray (Int,Int) Int]
döndürmez listedeki matrislerin elemanları değiştirir ve yeni matrisleri ekler: Şimdiye kadar imzaya sahip bir özyinelemeli çözüm ile geldi . Matrisleri gereksiz yere dondurmak ve çözmek istemiyorum. Şimdiye kadar çok iyi. Ben ghci
runSTArray (matrices !! 0)
runSTArray (matrices !! 1)
içinde (tip Array (Int, Int) Int
arasında) n
-inci matrisi inceleyebilir ve aslında benim algoritması için doğru sonuçlar elde ederler. Ben liste üzerinde yinelemeli değerlendirmek veya bir sarılmış tek unsurları değerlendirmek için denemek çalışırsanız
map (runSTArray) matrices
Couldn't match expected type `forall s. ST s (STArray s i0 e0)'
with actual type `ST s0 (STArray s0 (Int, Int) Int)'
aynı sorun olur: Ancak, ben doAll
tarafından döndürülen liste üzerinde runSTUArray
eşleştirmek için bir yol bulamadık function
Birisi, neler olup bittiğini açıklıyor olabilir (forall
anahtar sözcüğünün sonuçlarını anlamış değilim) ve listedeki dizileri nasıl değerlendirebilirim?
http://www.mail-archive.com/[email protected]/msg47957.html –