我正在尝试编写一个函数,该函数接受字符串列表和 Int 并返回其中每个字符串都是“int”次的字符串列表。那是:
duplicate :: [String] -> Int -> [String]
duplicate ["ab","ac","yt","hfg","lkj","poi"] 2
输出应该是
["ab","ab","ac","ac","yt","yt","hfg","hfg","lkj","lkj","poi","poi"]
duplicate = (. replicate) . (>>=)
或更基本的
duplicate xs n = concatMap (replicate n) xs
如果你也想通过符号进行列表乘法
> let (**) :: [a] -> Int -> [a]
| (**) = (. replicate) . (>>=)
> ["a","b"]**3
["a","a","a","b","b","b"]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)