0
我是Prolog的新手,我想要實現的操作是在保存在我的程序中的兩個列表上執行像append/3這樣的操作。我不需要打開swi-prolog並輸入append([a,b,c],[h,j,k],X).
即可獲得X=[a,b,c,h,j,k]
。我需要的是像從程序中檢索兩個列表並對其執行附加操作。 我甚至不知道我想在Prolog中獲得什麼。Prolog中的列表操作
這是我的情況:我得到這個「esempio.pl」文件,其中我有以下規律和這兩個事實:
personal_union(F,C,Xs) :-
personal_list(F,Fs),personal_list(C,Cs),append(Fs,Cs,Xs).
personal_list(family,[alessandro,cinzia,fabio]).
personal_list(colors,[blu,giallo,lilla,verde,rosso]).
我想從SWI-質疑「esempio.pl」序言和問它:
personal_union(family,colors,X).
,並獲得統一的列表:
X=[alessandro,cinzia,fabio,blu,giallo,lilla,verde,rosso]`
是我的代碼可能的解決方案?我無法自己嘗試,因爲它一直給我這個錯誤:語法錯誤:非法開始期限指出錯誤在我的規則正文的開始。
僅供參考,儘管有錯誤通知,我仍然對該程序提出質疑,並且獲得了我正在尋找的內容。謝謝! –
@AlessandroSassi:你應該接受這個答案... – CapelliC
@AlessandroSassi還不清楚你得到了什麼錯誤,爲什麼。 –