【发布时间】:2014-02-25 23:36:10
【问题描述】:
my_list([hello,hello,hello])
counthowmany(_, [], 0) :- !.
counthowmany(X, [X|Q], N) :- !, counthowmany(X, Q, N1), N is N1+1.
counthowmany(X, [_|Q], N) :- counthowmany(X, Q, N).
在上面的代码中如果在编译缓冲区后询问 Prolog
my_list(L),counthowmany(hello,L,N).
这个问题然后它给了我你好的号码.....
现在如果我按以下方式修改代码
my_list([hello,hello,hello])
counthowmany(_, [], 0) :- !.
counthowmany(X, [X|Q], N) :- !, counthowmany(X, Q, N1), N is N1+1.
counthowmany(X, [_|Q], N) :- counthowmany(X, Q, N).
numberofhello :- my_list(L), counthowmany(hello,L,N).
% i. e. I want to insert the question in a rule
如果我问 Prolog,在编译缓冲区之后(虽然我得到一个单例变量警告)
numberofhello.
它只是给了我“真实”,我没有得到你好的数量。
【问题讨论】:
标签: prolog