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值的不同方法。