私の検索で他に見つかった場合は、サブリストの何が間違っているのか教えてもらえますか?プロローグ内に他の人がいる場合のエラー条件
サイズが0の場合は条件付きで動作しますが、値が1,2,3になるとエラーが表示されますが、関係演算子は正しくありませんか?
可変長がsize = 0の場合、条件は機能しますが、可変長のサイズが3の場合はエラーとなります。
エラーは次のとおりです。
例外:> =/2:引数が十分にインスタンス化されていません。
subList([], []).
subList(List1,List2):-
concatenate(List1,List2,Result1),
equalelements(Result1,Result2),
counting(Result2,Length),
Length =< 2
-> false
; Length >= 3
-> true.
searchdisease([],_).
searchdisease(Symptoms,Disease) :-
disease(Ls, Disease),
subList(Symptoms, Ls).
counting([ ],0).
counting([_| T], N) :-
counting(T, N1),
N is N1 + 1.
concatenate(L1, L2, NL) :-
append(L1, L2, L12),
msort(L12, NL).
Lenghtはリストのサイズの戻り値です。サイズは0、返されるサイズは1、サイズは2,3,4などです。リストのサイズが以下かどうかをチェックします。 2以上、または3に等しい。 –
私はあなたのルールをインデントしました:今度は、 'Length'が' Length> = 3'に対してインスタンス化されていないことがわかります – false
Lengthは述語の戻り値です。 。 –