2016-10-06 27 views
-2
type Vertex = (Float, Float) 

distance :: Vertex -> Vertex -> Float 
distance (x, y) (x`, y`) 
    = (sqrt ((x^2 - x`^2) + (y^2 - y`^2))) 

哎两个顶点之间的距离,我得到的错误“错误:解析输入错误‘’”哈斯克尔:错误:解析输入错误“”

对不起非常基本的:)谢谢提前。

回答

2

您正在使用反引号``,而不是单引号''。反引号允许您在一个中缀位置使用的标识符,如

x `elem` xs 

而单引号中的标识符的有效字符,例如,

(x', y') 

注意,它们也用于字符文字,例如'a',所以你不能用单引号开始标识符。

+0

哦,当然哈哈。在更改为'后,当我尝试使用该函数时,它返回NaN。你有什么想法是什么原因造成的? – Matt1234

+2

@Matt你用负面的参数调用sqrt(你的公式是错误的)。 – chi