2013-11-09 63 views
0

我對Prolog有關的列表列表有問題。問題是關於實現一個Prolog謂詞:to_do(ListOfLists,_,Result)。 其中ListOfLists是字符列表的列表,其爲a,b,cd。結果必須替代aai,bbi,cxdy序言:列表清單

例如,

?- to_do([[b,c],[a,d]],_,Result). 
    Result = [[bi,x],[ai,y]]. 

?- to_do([[a,a,b],[b,c,d],[c,c,a]],_,Result). 
    Result = [[ai,ai,bi],[bi,x,y],[x,x,ai]]. 

注意,結果也必須是列表的列表。

非常感謝!

+2

和你試過? – RBA

回答

0

我相信這是解決問題的方法:

substitute(a, ai). 
substitute(b, bi). 
substitute(c, x). 
substitute(d, y). 
substitute(In, Out) :- maplist(substitute, In, Out). 

to_do(X, _, Y) :- substitute(X, Y).