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