从 maplist/3 结果中过滤随机结果
Filtering random-outcomes from maplist/3 result
我希望用
下面的谓词 is_upper/2 和 maplist/3 过滤掉这个列表 List=['F1',a1,a2,' LF2',a1,a2]
is_upper(Elem,Res)
: 如果 Elem
是大写原子,它将被分配给 Res
然后我想将所有大写原子放入列表 List_Upper
我试试这个;
?- maplist(is_upper,List,List_upper).
List_Upper = ['F1',_A,_B,'F2',_C,_D,'F3',_E,_F] ? ;
我如何过滤出随机的 _A,_B...
预期结果:
List_Upper = ['F1','F2','F3']
问候
include/3
收集真结果的元素,exclude/3
收集假结果的元素
| ?- include(is_lower,['FUNCTOR1','arg1','arg2','FUNCTOR2','arg3','arg4','FUNCTOR3','arg5','arg6'],List_Lower).
List_Lower = [arg1,arg2,arg3,arg4,arg5,arg6] ? ;
no
我希望用
下面的谓词 is_upper/2 和 maplist/3 过滤掉这个列表List=['F1',a1,a2,' LF2',a1,a2]
is_upper(Elem,Res)
: 如果 Elem
是大写原子,它将被分配给 Res
然后我想将所有大写原子放入列表 List_Upper
我试试这个;
?- maplist(is_upper,List,List_upper).
List_Upper = ['F1',_A,_B,'F2',_C,_D,'F3',_E,_F] ? ;
我如何过滤出随机的 _A,_B...
预期结果:
List_Upper = ['F1','F2','F3']
问候
include/3
收集真结果的元素,exclude/3
收集假结果的元素
| ?- include(is_lower,['FUNCTOR1','arg1','arg2','FUNCTOR2','arg3','arg4','FUNCTOR3','arg5','arg6'],List_Lower).
List_Lower = [arg1,arg2,arg3,arg4,arg5,arg6] ? ;
no