欢迎访问宙启技术站
智能推送

使用Haskell编写一个程序来计算给定字符串列表中的所有单词的长度总和

发布时间:2023-12-09 20:36:43

以下是一个使用 Haskell 编写的程序,用于计算给定字符串列表中所有单词的长度总和:

import Data.Char (isAlpha)

wordLength :: String -> Int
wordLength = length . filter isAlpha

totalLength :: [String] -> Int
totalLength = sum . map wordLength

main :: IO ()
main = do
    let strings = ["Hello, World!", "This is a test", "12345"]
    let lengthSum = totalLength strings
    putStrLn $ "Total length of words: " ++ show lengthSum

在上述代码中,我们首先定义了一个函数 wordLength,该函数接受一个字符串参数并返回字符串中单词的数量。这里我们使用了 Data.Char 模块的 isAlpha 函数来判断字符是否为字母。

然后,我们定义了函数 totalLength,它接受一个字符串列表作为参数,并使用 map 函数将 wordLength 应用于每个字符串,然后使用 sum 函数计算所有单词长度的总和。

最后,我们在 main 函数中创建一个字符串列表并调用 totalLength 函数来计算总长度。然后,我们使用 putStrLn 函数打印结果。

你可以根据需要修改 strings 变量来包含你自己的字符串列表,并编译和运行代码以获取结果。