我有以下功能:如何讓它更安全?
isElemChar :: Char -> Bool
isElemChar x = elem x ['A'..'Z'] || elem x ['a'..'z']
當我嘗試使用功能如下:
isElemChar 5
然後我有例外:
<interactive>:73:12: error:
* No instance for (Num Char) arising from the literal `5'
* In the first argument of `isElemChar', namely `5'
In the expression: isElemChar 5
In an equation for `it': it = isElemChar 5
*Cipher Data.Char> isElemChar 'a'
如何使功能更安全?哪種方法可以使其達到全部功能?
我可以使用Maybe
數據類型,但不知道如何實現它。
你試圖將一個數字傳遞給一個只接受'Char'的函數。試試'isElemChar'5''。 – Cirdec
如果用戶會傳遞5而不是'5'如何處理異常? –