如何使用foldl'将列表转换为带分隔符“|”的字符串?
ltos :: String -> [String] -> String
ltos [] = ""
ltos (m:n) = foldl' f acc xs
where
f a b =
acc =
xs =
例如,
ltos ["a", "b", "c"]
将输出
"a|b|c"
最佳答案
这是模式匹配和HOF的可爱组合。
ltos :: [String] -> String
ltos [] = ""
ltos (m:n) = foldl' (\a b -> a ++ "|" ++ b) m n
您可以使用列表的第一个元素作为起始字符串,然后将其折叠在其余元素上(在每个元素之间添加
|
)。(我假设您将签名错误地键入了
ltos
)。关于haskell - Haskell使用分隔符 “|”将字符串列表转换为字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42360270/