[英]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.