Haskell 程序从用户那里读取一个整数
本教程将帮助我们从用户那里读取一个整数。提示用户输入任何整数。然后输入的整数将显示到控制台。
方法 1:使用 read 和 getLine 函数
此方法使用 read 和 getLine 函数尝试将输入解析为整数,并将整数显示到控制台。
算法
步骤 1 − main :: IO () 定义主函数。
步骤 2 − putStrLn "输入一个整数:" 打印要求用户输入的消息。
步骤 3 − input <- getLine 这是用户输入存储在变量 input 中的位置。
步骤 4 − let number = read input :: Int 将输入读取为整数并将其存储在变量中数字。
步骤 5 − putStrLn ("您输入了:" ++ show number) 最终打印用户输入的内容。
示例
程序使用 read 和 getLine 函数从用户那里读取一个整数。
main :: IO () main = do putStrLn "Enter an integer: " input <- getLine let number = read input :: Int putStrLn ("You entered: " ++ show number)
输出
Enter an integer: -20 You entered: -20
方法 2:使用 readLn 函数
此方法使用 readLn 函数尝试将输入解析为整数,并将整数显示到控制台。
算法
步骤 1 − main :: IO () 定义主函数。
步骤 2 − putStrLn "输入一个整数:" 打印要求用户输入的消息。
步骤 3 − number <- readLn :: IO Int 这是将用户输入读取为整数并存储在变量 number 中的地方。
步骤 4 − putStrLn ("您输入了:" ++ show number) 最终打印用户输入的输入用户。
示例
使用 readLn 函数从用户处读取整数的程序。
main :: IO () main = do putStrLn "Enter an integer: " number <- readLn :: IO Int putStrLn ("You entered: " ++ show number)
输出
Enter an integer: -3 You entered: -3
方法 3:使用 readMaybe 函数
此方法使用 readMaybe 函数尝试将输入解析为整数,如果成功则返回 Just number,否则返回 Nothing。
算法
步骤 1 - import Text.Read (readMaybe) 从 Text.Read 模块导入 readMaybe 函数。
步骤 2 - main :: IO () 使用 IO monad 定义主函数。
步骤 3 - putStrLn "输入一个整数:" 打印要求用户输入的消息。
步骤 4 - input <- getLine 从用户读取输入并将其存储在输入中变量。
步骤 5 - readMaybe 输入 :: Maybe Int 使用 readMaybe 函数尝试将输入解析为整数,如果成功则返回 Just number,否则返回 Nothing。 :: Maybe Int 将输入的类型指定为 Maybe Int。
步骤 6 - Just number -> putStrLn ("您输入了:" ++ show number) 如果输入是有效整数,则打印用户输入的输入。
步骤 7 - Nothing -> putStrLn "输入无效。请输入有效整数。" 如果输入不是有效整数,则向用户打印错误消息,提示他们输入有效整数。
示例
使用 readMaybe 函数从用户那里读取整数的程序。
import Text.Read (readMaybe) main :: IO () main = do putStrLn "Enter an integer: " input <- getLine case readMaybe input :: Maybe Int of Just number -> putStrLn ("You entered: " ++ show number) Nothing -> putStrLn "Invalid input. Please enter a valid integer."
输出
Enter an integer: -7 You entered: -7
方法 4:使用 prompt 函数
此方法使用 prompt 函数尝试将输入解析为整数并将数字返回到控制台。
算法
步骤 1 - prompt s = do 和 putStrLn s 用于提示用户输入。
步骤 2 - number <- getLine 读取用户的输入并将其存储在输入变量中。
步骤 3 - return number,将数字返回到控制台。
步骤 4 - main = do 调用主函数。
步骤 5 - number <- prompt "输入一个整数"打印要求输入的消息通过调用提示函数来打印用户输入。
第 6 步 - putStrLn("输入的数字:")和 print $(读取数字 :: Int)用于打印用户输入的输入。
示例
使用提示函数从用户那里读取整数的程序。
prompt s = do putStrLn s number <- getLine return number main = do number <- prompt "Enter a integer number" putStrLn ("Entered number: ") print $ (read number :: Int)
输出
Enter a integer number -6 Entered number: -6
结论
在 Haskell 中,有多种方法可以从用户那里读取整数。这可以通过使用 read 函数、getLine 函数、readLn 函数、readMaybe 函数或 prompt 函数来实现。在每种方法中,都会提示用户输入任何整数。然后输入的整数将作为输出显示在控制台上。