0

maplist を使用して、各要素の長さを制限することで要素のリストをフィルタリングしようとしています。これが私が試したものです

maplist(atom_length(2,X),[aa,bb,cc,asd],Result).
ERROR: apply:maplist_/3: Undefined procedure: atom_length/4
ERROR:   However, there are definitions for:
ERROR:         atom_length/2

私は得ることを期待しています

Result = [aa,bb,cc]

少し助けが必要です。ありがとう。

4

2 に答える 2

0

パウロの答えについての明確化: ライブラリの述語を次のように組み合わせることができます

?- findall(X, (member(X,[aa,bb,cc,asd]),atom_length(X,2)), L).
L = [aa, bb, cc].

member/2ジェネレーター、atom_length/2フィルターとして機能します。

于 2014-10-07T14:42:12.647 に答える