Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.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-检查R^2中的两点_Haskell - Fatal编程技术网

haskell-检查R^2中的两点

haskell-检查R^2中的两点,haskell,Haskell,我提出两点。 现在,我需要检查这些点是否相同,所以我要: type datatypePoint = (Float,Float) anyLine :: datatypePoint -> datatypePoint -> datatypeLine anyLine a b = [[fst a, fst b] , [snd a, snd b]] | (fst a == fst b) && (snd a == snd b) = error "Identical"

我提出两点。 现在,我需要检查这些点是否相同,所以我要:

type datatypePoint = (Float,Float)

anyLine :: datatypePoint -> datatypePoint -> datatypeLine
anyLine a b = [[fst a, fst b] , [snd a, snd b]]
    | (fst a == fst b) && (snd a == snd b) = error "Identical"
    | otherwise = error "Not identical"
但我得到了一个错误:

unexpected | 

谁能告诉我为什么?我做错了什么?

您可以指定结果或定义案例;你不能同时做这两件事

anyLine :: datatypePoint -> datatypePoint -> datatypeLine
anyLine a b
    | (fst a == fst b) && (snd a == snd b) = error "Identical"
    | otherwise = error "Not identical"

您可以指定结果或定义案例;你不能同时做这两件事

anyLine :: datatypePoint -> datatypePoint -> datatypeLine
anyLine a b
    | (fst a == fst b) && (snd a == snd b) = error "Identical"
    | otherwise = error "Not identical"

您可以指定结果或定义案例;你不能同时做这两件事

anyLine :: datatypePoint -> datatypePoint -> datatypeLine
anyLine a b
    | (fst a == fst b) && (snd a == snd b) = error "Identical"
    | otherwise = error "Not identical"

您可以指定结果或定义案例;你不能同时做这两件事

anyLine :: datatypePoint -> datatypePoint -> datatypeLine
anyLine a b
    | (fst a == fst b) && (snd a == snd b) = error "Identical"
    | otherwise = error "Not identical"

这里有一些错误,首先,所有类型都以Haskell中的大写字母开头

type Point = (Float,Float)

anyLine :: Point -> Point -> Point
接下来,模式匹配发生在
=
符号之前

anyLine (a1, a2) (b1, b2)
  | a1 == b1 && a2 == b2 = error "Identical"
  | otherwise            = error "Not identical"
有了警卫,我们省略了等号

这也可能是

anyLine a b
  | a == b = ...
  | otherwise = ...

我个人认为,花点时间阅读一本好的Haskell教程是值得的,以学习一些你所缺少的基本概念。

这里有一些错误,首先,所有类型的Haskell都以大写字母开头

type Point = (Float,Float)

anyLine :: Point -> Point -> Point
接下来,模式匹配发生在
=
符号之前

anyLine (a1, a2) (b1, b2)
  | a1 == b1 && a2 == b2 = error "Identical"
  | otherwise            = error "Not identical"
有了警卫,我们省略了等号

这也可能是

anyLine a b
  | a == b = ...
  | otherwise = ...

我个人认为,花点时间阅读一本好的Haskell教程是值得的,以学习一些你所缺少的基本概念。

这里有一些错误,首先,所有类型的Haskell都以大写字母开头

type Point = (Float,Float)

anyLine :: Point -> Point -> Point
接下来,模式匹配发生在
=
符号之前

anyLine (a1, a2) (b1, b2)
  | a1 == b1 && a2 == b2 = error "Identical"
  | otherwise            = error "Not identical"
有了警卫,我们省略了等号

这也可能是

anyLine a b
  | a == b = ...
  | otherwise = ...

我个人认为,花点时间阅读一本好的Haskell教程是值得的,以学习一些你所缺少的基本概念。

这里有一些错误,首先,所有类型的Haskell都以大写字母开头

type Point = (Float,Float)

anyLine :: Point -> Point -> Point
接下来,模式匹配发生在
=
符号之前

anyLine (a1, a2) (b1, b2)
  | a1 == b1 && a2 == b2 = error "Identical"
  | otherwise            = error "Not identical"
有了警卫,我们省略了等号

这也可能是

anyLine a b
  | a == b = ...
  | otherwise = ...

我个人认为,花时间阅读一本好的Haskell教程是值得的,以学习一些你遗漏的基本概念。

其他人已经回答了这个问题,但我想指出,如果你使用“newtype”和“deriving”,这将更简单


保持类型a为泛型也没有什么坏处,因此现在这将适用于浮点、整数等的“点”。

其他人已经回答了这个问题,但我想指出,如果使用“newtype”和“派生”,这将更加简单


保持类型a为泛型也没有什么坏处,因此现在这将适用于浮点、整数等的“点”。

其他人已经回答了这个问题,但我想指出,如果使用“newtype”和“派生”,这将更加简单


保持类型a为泛型也没有什么坏处,因此现在这将适用于浮点、整数等的“点”。

其他人已经回答了这个问题,但我想指出,如果使用“newtype”和“派生”,这将更加简单


保持a型泛型也没有什么坏处,所以现在这将适用于浮点、整数等的“点”

好的,谢谢,你是对的,你知道解线性方程的模块吗?好的,谢谢,你是对的,你知道解线性方程的模块吗?好的,谢谢,你是对的,你知道解线性方程组的模块吗?好的,谢谢,你是对的,你知道解线性方程组的模块吗?除了你的错误,请注意1。2.即使如此,
==
-比较浮点值基本上注定会得到糟糕的结果,因为大多数计算中都有小的舍入误差通常,您只想检查
您的错误,请注意1。2.即使如此,
==
-比较浮点值基本上注定会得到糟糕的结果,因为大多数计算中都有小的舍入误差通常,您只想检查
您的错误,请注意1。2.即使如此,
==
-比较浮点值基本上注定会得到糟糕的结果,因为大多数计算中都有小的舍入误差通常,您只想检查
您的错误,请注意1。2.即使如此,
==
-比较浮点值基本上注定会得到糟糕的结果,因为大多数计算中都有小的舍入误差通常,您只想检查