如何在Haskell中使用带有变量和列表的map



我打算编写 am map 函数,它本质上接受一个变量和一个列表并返回一个列表。

尝试使用标准地图,但从我所看到的情况来看,它是"地图函数列表"格式,而在这里我试图传入另一个参数,这是另一点。

data Point = {xCoord :: Int,
              yCoord :: Int}
movePoint :: Point -> Point -> Point
movePoint (Point x y) (Point xMove yMove)
    = Point (x + xMove)  (y + yMove)
 // Add a "vector" to a list of points
movePoints :: [Point] -> Point -> [Point]
movePoints = error "Not yet"
例如,如果我有一个向量,例如 (2,2

(,并且我有一个点列表,例如 [(-2,1(、(0,0(、(5,4( 等]我想使用 map 将 (2,2( 添加到列表中的所有点并返回点列表,我不知道该怎么做。当涉及到Haskell时,我是新手,所以任何提示都会很棒。

部分应用 movePoint 函数(即,使用比它需要的更少的参数调用它(,如下所示:

movePoints pts vec = map (movePoint vec) pts

这样做会创建一个只需要一个参数的新函数,即您第一次未提供的参数。这被称为咖喱。

相关内容

  • 没有找到相关文章

最新更新