到目前為止,我已經得到了這個。我知道我需要將 char 實體化為 int 但我想知道是否有辦法說如果輸入一個字符值 0-9 它將提供整數值。
char_to_int :: Char -> Integer
char_to_int c = digitToInt c
main = do
let number = '0'
putStrLn "The number : "
print (number)
putStrLn "Integer equivalent to character entered"
print ( char_to_int number)
我收到此錯誤:
Variable not in scope: digitToInt :: Char -> Integer
|
6 | char_to_int c = digitToInt c
| ^^^^^^^^^^
Failed, no modules loaded.
任何幫助,將不勝感激 :)
uj5u.com熱心網友回復:
您需要匯入該功能。此外,它將 a 轉換為 a Char,Int因此僅適用于單個字符:
import Data.Char (digitToInt)
char_to_int :: Char -> Int
char_to_int = digitToInt
但是由于您只在這里對函式進行了額外的參考digitToInt,因此您可以直接使用它:
import Data.Char (digitToInt)
main :: IO ()
main = do
let number = '0'
putStrLn "The number : "
print (number)
putStrLn "Integer equivalent to character entered"
print (digitToInt number)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/528530.html
標籤:哈斯克尔
上一篇:判斷一個數字是否為素數的函式
