2014-03-12 86 views
0

我不斷收到此消息,我做錯了什麼?解析錯誤輸入'='

quadrant :: Float -> Float -> Quadrant 
quadrant x y 
    |x = 0 && y = 0 = Origin 
    |x > 0 && y = 0 = X_ Axis_Positive 
    |x > 0 && y > 0 = Quadrant_1 
    |x = 0 && y > 0 = Y_ Axis_Positive 
    |x < 0 && y > 0 = Quadrant_2 
    |x < 0 && y = 0 = X_ Axis_Negative 
    |x < 0 && y < 0 = Quadrant_3 
    |x = 0 && y < 0 = Y_ Axis_Negative 
    |x > 0 && y < 0 = Quadrant_4 
    |otherwise = error "Program error: Non-Exhaustive guards in function: quadrant" 

回答

7

操作來測試平等==,其中=是語言語法的一部分。

+2

'(==)'不是語言語法的一部分,而是'Prelude'的一部分。它用'infix 4 =='定義; (==)::(Eq a)=> a - > a - > Bool' –

+0

我並不是不同意這個基本答案 - 但我希望能對最後幾個單詞進行細化,並且可能還有一個參考(例如as到「what」=「是」)。 – user2864740

+0

語義。說語法可能更準確。我指的是語言結構的規則,而不是整個語言本身。 –