所以我試圖通過直接在分割內使用排序庫謂詞擺脫包裝子句。什麼拆分只是從列表中產生一個數字列表,如下所示:[1:2,3:2,4:6] - split - > [1,2,3,2,4,6 ]。但生成的列表包含重複項,我不想這樣做,所以我使用包裝器將split和sort結合起來,然後生成所需的結果:[1,2,3,4,6]。序言:擺脫遞歸助手謂詞
我真的很想擺脫包裝,只是在拆分內使用排序,但我不斷收到「錯誤:排序/ 2:參數沒有充分實例化。」有任何想法嗎?謝謝:)
split([],[]).
split([H1:H2|T],[H1,H2|NT]) :-
split(T,NT).
wrapper(L,Processed) :-
split(L,L2),
sort(L2,Processed).
'[1:2,3:2,4:6]'這個詞對我來說很古怪,它是爲了什麼?這個'ins(T,NT)'是什麼? – false
ins應該被遞歸分割,我的不好:)。固定。 [1:2 ..]是圖中邊緣的列表。 –
你將永遠不會因爲你的split/2的定義而得到這個錯誤信息。這不可能! – false