2
A
回答
6
你可以这样做:
singleton x = [x]
f = map singleton
8
描述你想要做什么的一种方法是把你的列表中的每个元素分别包含在另一个列表中。或者,您想对列表的每个元素执行操作'a' ---> ['a']
。
每当你谈到谈到:“每个元素的列表,单独,成别的东西”你在谈论一个map
[0],所以我们会写这个功能有点像
example :: [Char] -> [[Char]]
example cs = map _ cs
其中_
是功能'a' ---> ['a']
。这个功能可以写成一个明确的匿名函数,虽然
example :: [Char] -> [[Char]]
example cs = map (\c -> [c]) cs
而这将实现我们所需要的!
但我们可以走得更远一点。首先,在Haskell中,允许您使用下降应用最后一个参数,如果它与最后一个输入参数相同。或者更具体的,我们还可以通过简单地在二者的参数列表,并作为参数传递给map
删除cs
写example
作为
example :: [Char] -> [[Char]]
example = map (\c -> [c])
。其次,我们可以注意到example
的类型比它可能弱。写这更好的办法当然是
example :: [a] -> [[a]]
example = map (\c -> [c])
这反映了一个事实,我们没有在里面用具体的事情来Char
。
[0]或者更一般地,fmap
+3
或'map(:[])'。 – augustss 2014-11-06 07:13:04
4
嗯,挺已经回答了,但我觉得有必要向你介绍猴子运营商(:[])
可以代替singleton
使用。
map (:[]) ['a', 'b', 'c', 'd']
相关问题
- 1. 将嵌套元素添加到“扁平”列表中
- 2. 翻译“扁平”列表中嵌套的HTML无序列表
- 3. 如何从Python中的扁平列表构建一个嵌套列表?
- 4. 如何扁平化列表,而留下一些嵌套(在python)
- 5. R扁平列表列
- 6. Erlang列表:扁平化一个元素
- 7. 变换平面列表嵌套列表
- 8. 将嵌套列表值添加到一个新列表
- 9. 将字符串的嵌套列表压扁成单个int列表
- 10. 制作一个平面列表出多型嵌套列表的
- 11. 压扁嵌套JSON对象的一个列表,斯卡拉
- 12. 将嵌套子列表展平为data.frame
- 13. C++:嵌套列表:如何将一个项目添加到列表列表
- 14. Prolog的扁平化列表
- 15. Erlang:列表扁平化
- 16. 嵌套列表到阵列
- 17. 将嵌套散列展平到阵列
- 18. 将多个列的CSS嵌套列表
- 19. 将一个嵌套的POJOs列表流式传输到另一个POJO列表
- 20. 转化平面列表到嵌套的列表
- 21. 嵌套列表到数据框并返回到嵌套列表
- 22. Pyspark/Dataframe:添加将列表嵌套列表作为嵌套列表的新列
- 23. 如何使用ramda将扁平列表变成分层列表?
- 24. 列表到单个列表的嵌套列表
- 25. 带扁平列表的元组的列表的列表
- 26. 转换一个元组列表到深嵌套列表
- 27. 添加列表到另一个 - 嵌套列表
- 28. 转换嵌套散列成扁平散列
- 29. 如何从另一个列表创建一个嵌套列表?
- 30. 嵌套列表
'f = map(:[])''? – Claudio 2014-11-06 07:22:48
@Claudio更好。 – tinlyx 2014-11-06 08:13:07
或'f =地图返回':-) – 2014-11-06 08:30:10