Prolog:我怎么能只显示某些数字的名字呢.我在序言中有一个列表,我只需要显示几个特定的名字



我只需要显示2、8和10,并在listName中显示所有内容。我需要出示身份证和姓名。

这就是我尝试的:

listName(NA):-
name(ID, NA),
specific(ID, 2, 8, 10),
format('xxx', [ID, NA]).

这样?

使用memberchk/2实现specific/4,很自然:

listName(NA):-
name(ID, NA),
(memberchk(ID,[2,8,10]) 
-> format("ID = ~q, NA = ~qn", [ID, NA]) 
;  (format("Nopen"),fail)).

最新更新