3

この質問があります:

3 つの引数を取得するパラディクト「rightGuesses」を作成する必要があります。それぞれの引数は文字のリストです。

  1. 推測された文字のリスト
  2. 私が推測しなければならない言葉
  3. これまでに推測した文字。

例えば ​​:

rightGuesses([n,o,p,q], [p,r,o,l,o,g], Ans).

私たちに与えます

Ans = [p, -, o, -, o, -].

私が作った:

rightGuesses([],T2,[ANS])  
rightGuesses([A|T1],T2,[ANS]):-
   (member(A,T2))=\=true,
   rightGuesses(T1,T2,[ _ |'-']).
rightGuesses([A|T1],T2,[ANS]):-
   member(A,T2),
   rightGuesses(T1,T2,[ _ |A]).

しかし、私は得る:

ERROR: c:/users/leonid/desktop/file3.pl:5:0: Syntax error: Operator expected Warning: c:/users/leonid/desktop/file3.pl:6:

私がそれをコンパイルしようとすると、私の問題は何ですか?それを行うためのより良い方法はありますか?

4

2 に答える 2

2

rightGuesses([],T2,[ANS])ドットを逃した後。他の構文エラーを見つけることはできませんが、「セマンティック」なものがあります。これは意味がありません: 、代わり(member(A,T2))=\=trueに使用してください。\+member(A,T2)

于 2012-12-15T17:02:20.750 に答える