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+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告