我試圖在輸入x和y座標時使函數給出象限名稱。但是,我收到錯誤: 「輸入解析錯誤」='象限給出函數的錯誤
失敗,模塊加載:無。「
我試着添加一個「|否則......」但仍然沒有工作。我確信我涵蓋了x和y的所有可能性。
data Quadrants = Origin |
Quadrant_I | Quadrant_II | Quadrant_III | Quadrant_IV |
X_Axis_Positive | X_Axis_Negative | Y_Axis_Positive | Y_Axis_Negative
deriving (Show, Eq)
quadrant :: Float -> Float -> Quadrants
quadrant x y
|x>0 && y>0 = Quadrant_I
|x<0 && y>0 = Quadrant_II
|x<0 && y<0 = Quadrant_III
|x>0 && y<0 = Quadrant_IV
|x=0 && y=0 = Origin
|x>0 && y=0 = X_Axis_Positive
|x<0 && y=0 = X_Axis_Negative
|x=0 && y>0 = Y_Axis_Positive
|x=0 && y<0 = Y_Axis_Negative
您可以使用'compare 0'來代替'sign',並在結果'Ordering'值上進行模式匹配。 – chepner