Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 为线条生成图形_Haskell - Fatal编程技术网

Haskell 为线条生成图形

Haskell 为线条生成图形,haskell,Haskell,以下是我的尝试: getLineGraphic :: Point -> Point -> ColourName -> Graphic getLineGraphic a b colourType = (Graphic (Line(a b) colourType (0,0))) 形状由 data Shape = Rectangle Side Side | Ellipse Side Side | Polygon [Point] |

以下是我的尝试:

getLineGraphic :: Point -> Point -> ColourName -> Graphic
getLineGraphic a b colourType = (Graphic (Line(a b) colourType (0,0)))
形状

data Shape = Rectangle Side Side
       | Ellipse   Side Side
       | Polygon   [Point]
       | Line      Point Point
deriving (Show)
colorname

data ColourName
= Magenta
| Black
| Green
| Yellow
| Orange
| Cyan
deriving (Show)
以下是我得到的错误:

src\View.hs:54:34: error:
    * Couldn't match expected type `Graphic'
                  with actual type `ColourName -> Point -> Graphic'
    * Probable cause: `Graphic' is applied to too few arguments
      In the expression: (Graphic (Line (a b) colourType (0, 0)))
      In an equation for `getLineGraphic':
          getLineGraphic a b colourType
            = (Graphic (Line (a b) colourType (0, 0)))
   |
54 | getLineGraphic a b colourType = (Graphic (Line(a b) colourType (0,0)))

在顶部是我的尝试。不知道我哪里出错了?对于这部分,翻译必须是
(0,0)
,这就是为什么会出现这种情况。不知道为什么会出现这个错误?任何帮助都将不胜感激!谢谢。

虽然你没有发布MCVE,我只能猜测原因

(Graphic (Line(a b) colourType (0,0)))
这似乎是错误的。你可能想要

(Graphic (Line a b) colourType (0,0))

说明:与函数一样,Haskell中的数据构造函数也是通用的。所以

Line a b

((Line a) b)
而且完全不同于

Line (a b)

虽然你没有发布MCVE,我只能猜测原因

(Graphic (Line(a b) colourType (0,0)))
这似乎是错误的。你可能想要

(Graphic (Line a b) colourType (0,0))

说明:与函数一样,Haskell中的数据构造函数也是通用的。所以

Line a b

((Line a) b)
而且完全不同于

Line (a b)

在我看来,错误消息的格式应为。同样,考虑正确地编码你的代码……也请。您既没有定义
侧面
也没有定义
图形
。如果定义是不相关的,请使其非常简单(只是一个
Int
或什么),但不要忽略它。在我看来,错误消息的格式应为。同样,考虑正确地编码你的代码……也请。您既没有定义
侧面
也没有定义
图形
。如果定义是不相关的,请使其非常简单(只是一个
Int
或其他什么),但不要忽略它。