我想以这种格式转换列表:
C=[via(A,B,C,D),via(G,T,H,U),via(J,O,L,P)]
进入以下内容:
F=[(C,D),(H,U),(L,P)]
F中的字母对应于C中的字母。
答案 0 :(得分:3)
可能是这样的:
transform([], []).
transform([via(_, _, X, Y)|T)], [(X, Y)|TT) :-
transform(T, TT).
答案 1 :(得分:2)
几个Prolog(如SWI-Prolog I' m在这里使用,在库中(apply))有maplist:
@if(errorObjs != null) {
<Errors>
@for(ErrorObject errObj : errorObjs) {
<Error>
<ErrorCode>@errObj.errorid</ErrorCode>
<ErrorMessage>@errObj.errorcode</ErrorMessage>
</Error>
}
</Errors>
}
答案 2 :(得分:2)
使用library(lambda)
可归结为:
..., maplist(\via(_,_,X,Y)^(X,Y)^true, C, F), ...