Haskell程式列印ASCII值
在本教程中,我們將討論編寫一個在Haskell程式語言中列印ASCII值的程式。Haskell是一種宣告式、強型別和函數語言程式設計語言。Haskell中的計算是數學函式。
ASCII代表美國資訊交換標準程式碼,用於電子資料傳輸和通訊。這些ASCII值代表電子裝置中的字元。這些值用於描述數字裝置中的字元和資料。ASCII是一個7位數字,代表一個字元。例如:7位二進位制“1100001”代表字元‘a’,其ASCII值為97。
在本教程中,我們將看到兩種不同的在Haskell中列印ASCII值的方法及其應用。
Haskell程式列印字元的ASCII值。
Haskell程式列印字串的ASCII值。
語法
Haskell預設情況下不提供列印ASCII值的實用函式,我們需要從Data包中匯入Char模組才能使用字元的實用函式。
匯入模組的語法是
import Data.Char
匯入後,我們可以訪問Char模組中的所有實用函式
我們使用函式ord來獲取字元的ASCII值。ord是一個函式,它接受一個字元作為引數,並返回該字元的ASCII值。
使用函式ord的語法為:
函式呼叫ord ‘a’的輸出為97。因為字元‘a’的ASCII值為97。
演算法步驟
宣告或輸入要計算ASCII值的字元。
實現列印ASCII值的邏輯。
列印或顯示計算出的ASCII值。
示例1
Haskell程式列印字元的ASCII值
-- import the Char module import Data.Char main :: IO() main = do -- initializing variable ch with a character let ch='c' -- printing the ASCII value of tha character print ("The ASCII value of the character c is:") print (ord ch)
輸出
"The ASCII value of the character c is:" 99
在上面的程式中,我們匯入了包含字元操作實用函式的Char模組。在main函式中,我們宣告並初始化了變數ch,其值為字元‘c’。我們呼叫了函式ord,其引數為變數ch,這是Char模組中的一個實用函式,它接受一個字元作為引數並返回該字元的ASCII值。最後,我們使用print函式列印返回的結果。
示例2
Haskell程式列印字串的ASCII值
-- import the Char module import Data.Char -- function declaration printAscii :: [Char]->IO() -- function definition printAscii [ch] = do print (ord ch) printAscii (ch:str) = do print (ord ch) printAscii (str) main :: IO() main = do -- initializing the variable str with a character let str="hello" -- invoking the function printAscii print ("The ASCII values of the String hello is:") printAscii str
輸出
"The ASCII values of the String hello is:" 104 101 108 108 111
在上面的程式中,我們首先匯入了實用程式模組Char。我們聲明瞭一個函式printAscii,它接受字串作為引數並返回IO操作。在函式定義中,我們接受字元列表作為輸入。在基準條件下,對於單個字元陣列,我們使用實用函式ord列印該字元的ASCII值。對於所有其他情況,我們定義了函式,它使用字串模式接受引數。我們使用字串模式隔離字串的第一個元素。我們列印第一個字元的ASCII值,並遞迴呼叫函式printAscii,其引數為剩餘字串。邏輯是,我們遞迴地列印第一個字元的ASCII值,直到字串為空。在main函式中,我們宣告並初始化了變數str,其值為“hello”,最後我們用str作為引數呼叫了該函式,該函式列印字串的ASCII值。
結論
在本教程中,我們討論了兩種在Haskell程式語言中列印ASCII值的不同方法。