Haskell Int的列表:[123]至[1,2,3]

Sud*_*ha 0 haskell list

问题

我有[123,123]的int列表,我需要作为[1,2,3,1,2,3]

现行守则

我使用递归尝试了以下代码

fat::[Int]->[Int]
fat [] = []
fat (a,b,c:xs) = a : b : c : fat xs
Run Code Online (Sandbox Code Playgroud)

结论

我不知道如何在列表[123,123]中将值设为'1','2,'3

Fre*_*abe 5

我建议digs在列表的每个元素中使用此答案中给出的函数.它将一个Int数字列表拆分为([Int]).然后你只需要连接结果列表.这种"地图和连接结果"的要求是一个完美的工作concatMap

fat :: [Int] -> [Int]
fat = concatMap digs
Run Code Online (Sandbox Code Playgroud)

这给出了:

*Main> fat [123,123]
[1,2,3,1,2,3]
Run Code Online (Sandbox Code Playgroud)

如果我理解正确的话,这就是你想要的.