是否可以将列表解压缩为数据类型,而无需特定的模式匹配?
例如
data MyType = MyType Int Int Int deriving Show
let l = [1, 2, 3]
func :: [Int] -> MyType
用法是
λ: func l
λ: Mytype 1 2 3
我想要实现的目标。*
我有一个列表,我从CSV文件中提取。每个列表都是类型变量列表。我希望有一种快速的方法可以将这些类型变量传递给类型,而不必模式匹配十个或更多变量。
答案 0 :(得分:2)
我个人认为你应该使用模式匹配....
但是,您可以使用此答案中的信息将列表转换为元组....
How do I convert a list to a tuple in Haskell?
然后,您可以使用此答案中的信息将该元组转换为构造函数的参数
它有效,并且在某种程度上是理智的,但要避免一行模式匹配需要做很多工作。