【发布时间】:2016-08-22 12:34:45
【问题描述】:
我真的需要帮助来完成这项任务,具体如下: 我需要使用地图族来实现这个功能。
mapSub(List1,List2).
Subtracts List2 from List1
Follows the order of appearance in
List2.
Implement it using map family
Examples:
mapSub([1,2,3,4,5,1,2,3,4,5],[1,1,2]).
[2,3,4,5,3,4,5]
mapSub ([1,2,3,4,5,1,2,3,4,5],[1,1,2,2]).
[2,3,4,5,3,4,5]
问题是如何使用允许使用的功能管理 List2,
例如,如果我从 List2 中找到第一个元素并删除他在 List1 中的第一次出现。
如何替换我要查找的元素
到 List2 尾部的头部(List2 中的下一个元素)
谢谢。
【问题讨论】:
-
我认为您将地图与列表混淆了。 Erlang 中的映射是关联
Key=>Value的哈希表,例如#{a => 2, b => 3, c=> 4, "a" => 1, "b" => 2, "c" => 4}。在您的问题中有两个列表。请重写问题,因为目前无法正确回答(可能应该关闭)。 -
@Amiramix:你认为地图家族不是指
lists:map/2,而是maps?现在有点意思了。 -
我真的不知道地图族可能意味着什么,但是
lists:map/2与 Erlang 地图没有太大关系。它只是一个通过指定函数处理列表中的每个元素来转换列表的操作,请参阅维基百科上的 map-reduce:en.wikipedia.org/wiki/MapReduce Erlang 中还有一种新的数据类型,称为 R17 中引入的映射,您可以阅读更多信息此处:learnyousomeerlang.com/maps 您需要确定您要使用的地图系列。 -
顺便说一句
[3,4,5,2,3,4,5] = [1,2,3,4,5,1,2,3,4,5] -- [1,1,2]和[3,4,5,3,4,5] = [1,2,3,4,5,1,2,3,4,5] -- [1,1,2,2]所以你甚至没有正确的例子。