2016-02-22 80 views
0

使用衛士,當我創造了在Haskell下面的代碼:錯誤哈斯克爾

eqs a b c 
| ((b^2) - (4*a*c)) < 0 = "MESSAGE" 
| otherwise = "x1= " ++ show (sqrt((-b + ((b^2) - (4*a*c))))2*a) ++ "x2= " show (sqrt((-b - ((b^2) - (4*a*c))))2*a) 

爲什麼我收到以下錯誤消息?

錯誤文件:\ file.hs:2 - 在聲明的語法錯誤(意外';」,可能是由於惡劣的佈局)

+0

@Sandeep Biradar:代碼格式僅適用於代碼。 Haskell不是代碼,它是一個合適的名稱。 – Mat

+0

@Mat我做了突出顯示它。 – Sandeep

+0

你的代碼有很多問題,但沒有一個會導致你引用的錯誤。請張貼你試圖編譯的文件的確切內容。 – leftaroundabout

回答

1

獨特的問題,我在你的代碼中看到的是一種類型錯誤,而不是您發佈的解析器錯誤。錯誤類型是下面的表達式:

(-b + ((b^2) - (4*a*c))))2*a 

我相信,你可能想使用分裂,使正確的表述應該是

(-b + ((b^2) - (4*a*c))))/(2*a) 

希望這可以幫助你。爲了更好地幫助您,請考慮發佈您的Haskell程序文件的全部內容。