我有一个列表,例如:
["Hello", "Goodbye"]
,我想在列表中使用map
;
我以前成功地使用过map
:
f = ("example" ++)
然后:
map f ["Hello", "Goodbye"]
会出现在列表中:
["exampleHello", "exampleGoodbye"]
但是我如何在函数f
中使用列表项?
例如,如果我想重复list元素,那么
["Hello", "Goodbye"]
将成为
["HelloHello", "GoodbyeGoodbye"]
我怎么能做到这一点与map
和功能f
(和++
)?
Doing
map (x -> x++x) ["Hello", "Goodbye"]
在 搜索结果
["HelloHello","GoodbyeGoodbye"]
所以f
可以定义为f x = (x++x)
您可能希望使用lambda函数来处理这种事情。您希望查看列表中的每个项,然后将其替换为重复的项。复制字符串很容易:str -> str ++ str
,现在只需要将该函数映射到列表上:
map (x -> x ++ x) ["Hello", "Goodbye"]