【问题标题】:how to create my own map using another function i defined in haskell如何使用我在haskell中定义的另一个函数创建我自己的地图
【发布时间】:2021-12-11 05:43:06
【问题描述】:

我正在尝试使用我提供的另一个功能来创建地图,有人可以帮忙吗

我已经创建了:

ConcatListsOnFunc :: (a -> [b]) -> [a] -> [b]
ConcatListsOnFuncf []     = []
ConcatListsOnFunc func (y:ys) = func y ++ flattenMap func ys 

我想知道如何使用上面的函数来实现高阶函数map

类型

myMap :: (a -> b) -> [a] -> [b]

from myMap with input (+1) [1,2,3] should give output [2,3,4]

谁能帮忙,有没有办法使用我之前定义的函数和 lambda 函数来创建 myMap?

【问题讨论】:

  • concatListsOnFuncflattenMap有什么区别?

标签: haskell functional-programming


【解决方案1】:

您可以将项目包装在单例列表中,因此:

myMap :: (a -> b) -> [a] -> [b]
myMap f = concatListsOfFunc (\x -> [f x])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-15
    • 1970-01-01
    • 2018-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多