我的意思是写这样一个函数:
mapCons x [] = [[x]]
mapCons x ys = map (x:) ys
Run Code Online (Sandbox Code Playgroud)
以便:
*> mapCons 'a' []
["a"]
*> mapCons 'a' ["cat", "dog"]
["acat","adog"]
Run Code Online (Sandbox Code Playgroud)
我们是否为mapCons提供了快捷方式或预定义函数?我试过Hoogle a - > [[a]] - > [[a]],但找不到理想的.
非常感谢.
Tho*_*son 11
不,我注意到map (x:)8个字符长,而输入mapCons x是9个字符.对于这样的特定操作(即非通用操作),找到或记住它们的成本和难度远远超过了使用它们的好处.想象一下,如果前奏或基础库定义了100,000个函数 - 不寒而栗!