2012-01-06 15 views
0

私は、これは非常に単純な質問です知っているが、私はいくつかの問題を抱えているようです。Prologのリスト

私はporter_stemを使用して単語のリストを食い止めるためにしようとしていますが、私はエラーを取得していますが、次のように基本的には、このための擬似コードは

stemming([],[]). 
stemming([H|T], A) :- 
    stemming(T,Answer), 
    porter_stem(H,S), 
    append(Answer,S,A). 

Out of local stack

これは私のコードです:

for all items in list 
    stem item 
    add item to list2 
    return list2 

誰でも正しい方向に指摘してください。

+0

だけでなく、あなたの派生述語が最初に行うことは、語幹呼び出すことです、それはそれがする最後のものでなければなりません。 – m09

+0

ありがとう、固定。あなたが望むなら、私はあなたに詳細通常の再帰をすることができます/ – Lilz

+2

ていますが、プロローグの実装に依存し 'maplist/3'または同等のものを使用してみました。それでもかかわらず、同じエラーを取得しますか? 'maplist(porter_stem、List、Result) 'のようなもので十分でしょう。 – m09

答えて

1

maplist/3たり、プロローグの実装によって同等の使用を検討してください:maplist(porter_stem, List, Result).のようなもので十分でしょう。

あなたは、適切な再帰を構築コメントを投稿し、私は私の答えを拡大しようとするでしょうする方法を学ぶことに興味があるなら:)

+0

ありがとうございました!ペーストしたコードに何が間違っているかを理解できれば、私はずっと感謝しています。 – Lilz