Jam*_*ray 4 string haskell list higher-order-functions map-function
我有一个列表,例如:
["Hello", "Goodbye"]
Run Code Online (Sandbox Code Playgroud)
我想map在名单上使用;
我之前成功地使用了地图:
f = ("example" ++)
Run Code Online (Sandbox Code Playgroud)
那么:
map f ["Hello", "Goodbye"]
Run Code Online (Sandbox Code Playgroud)
列出清单:
["exampleHello", "exampleGoodbye"]
Run Code Online (Sandbox Code Playgroud)
但是如何在函数"f"中使用列表项呢?
例如,如果我想重复list元素,那么:
["Hello", "Goodbye"]
Run Code Online (Sandbox Code Playgroud)
会成为:
["HelloHello", "GoodbyeGoodbye"]
Run Code Online (Sandbox Code Playgroud)
我怎么能用map和函数'f'(和++)来做呢?
非常感谢,
干
map (\x -> x++x) ["Hello", "Goodbye"]
Run Code Online (Sandbox Code Playgroud)
结果是
["HelloHello","GoodbyeGoodbye"]
Run Code Online (Sandbox Code Playgroud)
所以f可以定义为f x = (x++x).
你可能想要使用lambda函数来做这种事情.您想要查看列表中的每个项目,然后将其替换为自身重复的项目.复制字符串很简单:\str -> str ++ str现在您只需要在列表上映射该函数:
map (\x -> x ++ x) ["Hello", "Goodbye"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
208 次 |
| 最近记录: |