我开始学习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)]
如何制作相当于g
的VU向量[[a], [a,a]] = [[(7,7)], [(7,7), (7,7)]]
?
对于问题2和3,我在尝试使用convert
函数时无法解决类型错误。
我知道我的元组总是长度为2,但我需要一个列表
(或其他)f
可以是固定大小的元组,以及另一个g
这是二维的(例如[[(1,2),(3,4)],[(1,2)]]
其中
顶部列表和子列表都不能是固定大小的。应该
我坚持f
和g
的相同类型?
Data.Vector.Fixed和Data.Vector.Unboxed似乎都来自于 相同的包,但他们有不同的维护者。他们俩都是 官方,可以这么说,或者他们没有其他任何相似之处 那两者都是矢量实现吗?