Was ich versuche zu erreichen, ist zu bekommen, was "Komponenten" nicht verwendet werden. Also habe ich eine Liste mit allen 'Komponenten' und 'gebrauchten Komponenten' erstellt.
Meine Idee ist, diese Listen zu vergleichen und eine andere Liste mit den Elementen zu erstellen, die nicht übereinstimmten.Holen Sie Elemente, die nicht in der zweiten Liste sind
component('name 1', 1).
component('name 2', 2).
component('name 3', 3).
component('name 4', 4).
component('name 5', 5).
inUse(1, 'name 1').
inUse(1, 'name 3').
inUse(1, 'name 5').
comp_list(L):- findall(Comp, component(Comp, _), L).
inuse_list(L):- findall(Comp, inUse(_, Comp), L).
Ich weiß nicht, wie so etwas zu tun: member('name comp', List).
, wo ich ‚Name comp‘ mit jedem Element der anderen Liste ersetzen kann.
Vielen Dank im Voraus.
Beispiel:
L1 = ['name 1', 'name 2', 'name 3', 'name 4', 'name 5'] %comp_list(L).
L2 = ['name 1', 'name 3', 'name 5'] %inuse_list(L).
someRule(R):- comp_list(L1), inuse_list(L2), %more code, to obtain a list R with:
R = ['name 2', 'name 4'] (Elements lacking on inuse_list)
Können Sie ein Beispiel von zwei Listen geben und was Sie versuchen zu tun, da bis jetzt es überhaupt nicht klar ist ... – coder
Hallo @ coder. Ich habe das Beispiel hinzugefügt. –