我对 Haskell 完全陌生,如果这看起来是一个愚蠢的问题,我很抱歉 我正在尝试创建一个函数,它接受一个字符串,并将该字符串拆分为 5 个片段或 block (假设字符串始终可被 5 整除)。然后,创建这些 block 的字符串列表。 到目前为止,我知道这是错误的,因为我不应该计算在递归中需要“获取”的列表的长度,但不确定如何设置“获取” int 值,例如分配计算变量...
calctake :: String -> Int
calctake s = length(s) `div` 5
splitintoFive :: String -> [String]
splitintoFive [] = []
splitintoFive xs = take (calctake xs) xs : splitintoFive (drop (calctake xs) xs)
如何将一个字符串分成 5 部分,并创建一个字符串列表?
最佳答案
您可以创建一个辅助函数:
splitintoFive :: String -> [String]
splitintoFive xs = splitIntoChunksOfLength (calctake xs) xs
splitIntoChunksOfLength :: Int -> String -> [String]
splitIntoChunksOfLength n [] = []
splitIntoChunksOfLength n xs = take n xs : splitIntoChunksOfLength n (drop n xs)
关于haskell - 如何将字符串分割成 block 并创建这些 block 的列表 haskell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73975218/