[英]I'm trying to classify using guards in haskell
分類 n:根據以下模式返回基於數字等級的字母等級:
這是我的 haskell 代碼:
classify n
| n => 90 = 'A'
| 89 <= n <= 70 = 'B'
| 69 <= n <= 50 = 'C'
| otherwise = 'D'
但它一直給我錯誤
對於大於或等於,使用>=
而不是 ,此外,您不能像 Python 中那樣鏈接條件,因此您應該使用=>
89 >= n && n >= 70
:
classify n
| n >= 90 = 'A'
| 89 >= n && n >= 70 = 'B'
| 69 >= n && n >= 50 = 'C'
| otherwise = 'D'
您可以將表達式簡化為:
classify n
| n >= 90 = 'A'
| n >= 70 = 'B'
| n >= 50 = 'C'
| otherwise = 'D'
這適用於整數,因為守衛n >= 90
將對所有大於或等於 90 的值觸發。因此,這意味着不會為下一個守衛評估此類值,並且只會評估小於或等於 89 的整數其他守衛。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.