haskell:将两个数组合并为一个Data数组

mir*_*iro 1 haskell

你能跟我帮忙吗?

我有2个数组,我需要合并到一个数据数组.下面的代码进行合并,但它创建了一个笛卡儿...

我想跟随输出:

DataXY {var1 = "x1", var2 = "y1"},
DataXY {var1 = "x2", var2 = "y2"},
DataXY {var1 = "x3", var2 = "y3"}
Run Code Online (Sandbox Code Playgroud)

- -码

data  DataXY = DataXY {
   var1 :: String,
   var2 :: String
} deriving (Eq, Show)

parse ::  [DataXY]
parse = x
    where
        x = [DataXY v1 v2 | v1 <- arr1, v2 <- arr2]
            where
                arr1 = ["x1", "x2", "x3"]
                arr2 = ["y1", "y2", "y3"]
Run Code Online (Sandbox Code Playgroud)

谢谢,m.

Die*_*lan 10

zipWith 这就是你想要的

parse :: [DataXY]
parse = zipWith DataXY arr1 arr2
   where arr1 = ["x1", "x2", "x3"]
         arr2 = ["y1", "y2", "y3"]
Run Code Online (Sandbox Code Playgroud)