Haskell程式讀取標準輸入的數字
在本教程中,我們將討論編寫一個在Haskell程式語言中從使用者獲取輸入的程式。Haskell是一種宣告式、強型別和函數語言程式設計語言。
本教程討論了在Haskell程式語言中從標準輸入讀取數字。
Haskell是一種純函式式語言。純函式是指對於相同的引數返回相同輸出的函式。獲取使用者輸入會將程式的性質更改為不純。Haskell引入了IO型別來區分不純函式和純函式。帶有IO型別的函式宣告表明它是一個與外部世界互動的不純函式。“()”是IO操作的引數,描述了IO函式的返回值。
IO函式的示例包括print、putStr、getLine、getChar等
演算法步驟
使用合適的IO函式從使用者處獲取輸入。
使用read函式將輸入讀取為數字。
將輸入值載入到變數中。
列印使用者輸入。
使用 Getline 方法從標準輸入讀取數字
示例
使用getLine方法從標準輸入讀取數字的程式
main :: IO() main = do print("Please enter a number") -- taking user input using getLine function line <- getLine -- typecasting string to integer let number = (read line:: Int) -- printing the number print ("The input number is:") print number
輸入
"Please enter a number" 25
輸出
“The inputted number is:” 123
在上面的程式中,我們呼叫了getLine函式(這是一個IO函式)來獲取使用者輸入。我們將輸入值載入到變數line中。我們使用read函式將變數line型別轉換為整數。最後,我們列印輸入的數字。
注意- 必須使用語法“<-”將IO函式的值載入到變數中。
讀取使用者輸入的數字列表
示例
讀取數字列表的程式
-- function declaration readNums :: [Int]->IO () -- function definition readNums xs = do putStrLn("Please enter another number in the list") input<-getLine let number = (read input :: Int) if (number == -1) then do print ("The Input List of numbers are:") print (init xs) else do readNums (number:xs) main :: IO() main = do -- initializing list with initial value let list = [-1] -- invoking readNums function readNums list
輸入
Please enter another number in the list list 1 Please enter another number in the list list 2 Please enter another number in the list list 33 Please enter another number in the list list -1
輸出
"The Input List of numbers are:" [33,2,1]
在上面的程式中,我們聲明瞭一個函式readNums,它接受整數列表作為輸入並返回一個IO操作。在函式定義中,它接受一個引數xs,這是一個整數列表。接下來,使用getLine函式從使用者處獲取輸入,並將輸入值載入到變數input中。我們將變數input型別轉換為整數,並將值載入到變數number中。我們檢查數字的值是否等於“-1”。如果數字的值等於“-1”,我們將列印列表xs的初始部分。如果數字不等於“-1”,我們將使用連線了數字和列表xs的引數遞迴呼叫readNums函式。也就是說,該函式將輸入值載入到列表中,直到輸入值等於“-1”。我們在main函式中呼叫了此函式。
結論
在本教程中,我們討論瞭如何在Haskell程式語言中從標準輸入讀取數字。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP