Haskell 程序从用户那里读取一个整数

haskellserver side programmingprogramming更新于 2025/5/8 4:22:17

本教程将帮助我们从用户那里读取一个整数。提示用户输入任何整数。然后输入的整数将显示到控制台。

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


相关文章