リストの各要素に要素を追加したいと思います。要素もリストでなければなりません。
例:
A = [a,b,c]
B = [ele,ele2]
結果は次のようになります。
R = [[a,ele,ele2],[b,ele,ele2],[c,ele,ele2]]
私は試した
maplist(custom_append,A,B,R).
しかし、それはfalseを返します
custom_append(X,Y,[X|Y]).
どうすればこれを達成できますか?
これB
は反復するリストではないことに注意してください。A
同じリストにの要素を追加する必要がありますB
。
これを実現する最も簡単な方法は、おそらく次の要素の順序を入れ替えるcustom_append/3
ことです。
custom_append(Y, X, [X|Y]).
次に、maplist/3
:を使用してこれを取得できます。
maplist(custom_append(B), A, R).
したがって、部分適用と非常によく似た動作をするものをすでに作成しています。ファンクターを渡すcustom_append(B)
と、Prologは(で呼び出しを行います。ここでは、リストとの要素を示すために使用されます)。custom_append(B, Ai, Ri)
Ai
Ri
A
R
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加