List Erlang中的映射函数

List Erlang中的映射函数,list,lambda,functional-programming,erlang,prolog,List,Lambda,Functional Programming,Erlang,Prolog,除了让map函数可用于多个arity(最多4个),Prolog还允许您(在某些情况下)将多个arity函数映射到单个列表上。假设要测试“x”是否是多个列表的成员。你可以做: maplist(member(x),[[a,b,c,x],[3,f,s,x]]). 包含member的第一个参数,并且将整个内容映射到列表中 问题1:Erlang是否有类似的功能?我在文档中找不到它,但在任何Prolog文档中也找不到它 问题2:如何将map(和类似函数)与多个算术一起使用?你自己滚 谢谢。可能是: 23&

除了让map函数可用于多个arity(最多4个),Prolog还允许您(在某些情况下)将多个arity函数映射到单个列表上。假设要测试“x”是否是多个列表的成员。你可以做:

maplist(member(x),[[a,b,c,x],[3,f,s,x]]).
包含member的第一个参数,并且将整个内容映射到列表中

问题1:Erlang是否有类似的功能?我在文档中找不到它,但在任何Prolog文档中也找不到它

问题2:如何将map(和类似函数)与多个算术一起使用?你自己滚

谢谢。

可能是:

23> lists:map(fun(L) -> lists:member(42,L) end, [[1,5,8,4],[13,42],[7,2,10]]).
[false,true,false]
24>

列表:map/2
和列表理解:

1> lists:map(fun(L) -> lists:member(42,L) end, [[1,5,8,4],[13,42],[7,2,10]]).
[false,true,false]
2> [ lists:member(42,L) || L <- [[1,5,8,4],[13,42],[7,2,10]] ].
[false,true,false]
1>列表:map(fun(L)->列表:成员(42,L)end,[[1,5,8,4],[13,42],[7,2,10]]。
[假,真,假]
2> [名单:成员(42,L)|L