2016-10-06 30 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