Haskell程序将字符串转换为数组
在Haskell中,我们将使用listArray和intersperse函数将字符串转换为数组。在第一个示例中,我们将使用(stringToArray s = listArray (0, length s - 1) s)函数,在第二个示例中,我们将使用(stringToArray s = s)函数。在第三个示例中,我们将使用(stringToArray s = intersperse ' ' s)。
算法
步骤1 - 定义stringToArray函数
步骤2 - 程序执行将从main函数开始。main()函数控制整个程序。它被写成main = do。
步骤3 - 定义变量'myString',它将保存字符串值。
步骤4 - 一旦函数被调用,相应的字符串值的数组结果将打印到控制台。
示例1
在本例中,使用listArray函数将字符串转换为数组。
import Data.Array stringToArray :: String -> Array Int Char stringToArray s = listArray (0, length s - 1) s main :: IO () main = do let myString = "hello" let myArray = stringToArray myString print myArray
输出
[1 of 1] Compiling Main ( main.hs, main.o ) Linking main ... array (0,4) [(0,'h'),(1,'e'),(2,'l'),(3,'l'),(4,'o')]
示例2
在本例中,使用列表推导式将字符串转换为数组。
import Data.Array stringToArray :: String -> Array Int Char stringToArray s = array (0, length s - 1) [(i, s !! i) | i <- [0..length s - 1]] main :: IO () main = do let myString = "hello" let myArray = stringToArray myString print myArray
输出
[1 of 1] Compiling Main ( main.hs, main.o ) Linking main ... array (0,4) [(0,'h'),(1,'e'),(2,'l'),(3,'l'),(4,'o')]
示例3
在本例中,使用用户定义函数将字符串转换为数组。
stringToArray :: String -> [Char] stringToArray s = s main :: IO () main = do let myString = "hello" let myArray = stringToArray myString print myArray
输出
[1 of 1] Compiling Main ( main.hs, main.o ) Linking main ... "hello"
示例4
在本例中,使用intersperse函数将字符串转换为数组。
import Data.List stringToArray :: String -> [Char] stringToArray s = intersperse ' ' s main :: IO () main = do let myString = "hello" let myArray = stringToArray myString print myArray
输出
[1 of 1] Compiling Main ( main.hs, main.o ) Linking main ... "h e l l o"
结论
在Haskell中,字符串只是一个字符列表。但是,如果我们想将字符串表示为字符数组,我们可以使用Data.Array模块,该模块提供了用于处理数组的函数。要将字符串转换为字符数组,我们可以简单地从字符串创建字符列表,然后使用listArray和intersperse函数从字符串列表创建数组。
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP