我开始学习 Haskell,但我发现很难弄清楚教程跳过的小事。现在我正在使用 Vector.Fixed 形式的元组:
import qualified Data.Vector.Fixed as VF
import qualified Data.Vector.Fixed.Unboxed (Vec 2)
import qualified Data.Vector.Unboxed as VU
let a = VF.mk2 7 7 :: (Int, Int)
let b = VF.mk2 7 7 :: (Vec2 Int)
a和 有什么区别b?如何使 VF 向量
f等效于[a, a] = [(7,7), (7,7)]?如何使 VU 向量
g等效于[[a], [a,a]] = [[(7,7)], [(7,7), (7,7)]]?
convert对于问题 2 和 3,我在尝试使用该功能时无法克服类型错误。
我知道我的元组总是长度为 2,但我需要一个
f可以固定大小的元组列表(或其他),另一个g是二维的(例如[[(1,2),(3,4)],[(1,2)]],顶部列表和子列表都不是固定大小。我应该坚持使用相同的类型f吗g?Data.Vector.Fixed 和 Data.Vector.Unboxed 似乎都来自同一个包,但它们的维护者不同。可以这么说,它们都是官方的,还是除了它们都是矢量实现之外,它们没有任何相似之处吗?