繁体   English   中英

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

[英]How to use map in Haskell with a variable and a list

我打算编写一个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)等],我想使用映射以将(2,2)添加到列表中的所有点并返回点列表,我不确定该怎么做。 我是Haskell的新手,所以任何提示都很棒。

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

movePoints pts vec = map (movePoint vec) pts

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM