列表转换

时间:2013-07-19 16:34:45

标签: prolog

我有一个清单:

L = [1,2,3,4,5,6,7,8]

我想将其转化为:

L= [ex(1,2),ex(3,4),ex(5,6),ex(7,8)]

我怎样才能有效地做到这一点?

[编辑添加:] 这就是我到目前为止所做的:

convert( [] , S ) .
convert( [A,B|Rest] , S ) :-
  S is ( ex(A,B) | Rest ) ,
  convert(Rest)
  . 

1 个答案:

答案 0 :(得分:1)

天哪,你有没有尝试过什么?

convert([], []).
convert([X,Y|R], [ex(X,Y)|S]) :- convert(R, S).

告诉你的教授我说“嗨”。