我正在做某種功課,而且我堅持一點。我給出的一些事實像:比較序言中兩個列表的內容
word([h,e,l,lo]).
word([m,a,n]).
word([w,o,m,a,n]). etc
,我必須做一個規則,以便用戶將輸入的字母一個名單,我應該比較我有話清單和糾正可能出現的錯誤。下面是我使用的代碼,如果第一個字母是在正確的位置:
mistake_letter([],[]).
mistake_letter([X|L1],[X|L2]):-
word([X|_]),
mistake_letter(L1,L2).
問題是我不知道如何移動到這個詞其實下一個字母。下一次回溯將運行它將使用單詞的頭部,而我想使用列表中的第二個字母。有關如何解決這個問題的任何想法?
對於任何語法錯誤,我很抱歉,我很感謝您的幫助。
非常感謝你,我根本沒有想到這一點。至於你提到的重要情況,你提到我的任務的大部分是製作一種字典來糾正給定的句子與任何一種錯誤,但只有1個字母每個單詞錯誤,所以我不相信我將不得不計算匹配或錯誤,因爲它們總是最大1.無論如何感謝你的答案。 – 2011-12-17 11:29:03