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函数来实现。在每种方法中,都提示用户输入任何整数。然后,输入的整数将显示在控制台中作为输出。

更新于:2023年1月23日

2K+ 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告