私が達成しようとしているのは、「コンポーネント」が使用されていないことを取得することです。そこで私はすべての「コンポーネント」と「使用中のコンポーネント」を含むリストを作成しました。
私の考えは、このリストを比較し、一致しなかった要素で別のリストを作成することです。2番目のリストにない要素を取得する
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).
私はこのような何かするのか分からない。私は他のリストのすべての要素に「名前のコンプ」を置き換えることができmember('name comp', List).
を。
ありがとうございます。
例:
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)
これまで2つのリストの例を示していますが、これまでに何をしようとしているのかは分かりません。 – coder
こんにちは@coder。私は例を追加しました。 –