查找将在给定数据库的情况下收集正确解决方案的查询。
此后,我们必须使用这些查询来创建一个名为“答案”的谓词,以便键入“答案”。在Prolog中将写出所有解决方案。
例如它应该看起来像:
? - answer.
[solution to a]
[solution to b]
[solution to c]
true.
但是,我不确定如何在不需要传递任何项目/变量的地方创建谓词。每当我尝试创建谓词“ answer”并调用它时,都会出现错误,提示“ answer”不能包含0个项目。
编辑:问题是:
使用上面的确切查询,并创建一个谓词“答案”,该谓词使用上面的答案进行打印,即以下查询将起作用:
?-答案。
[问题a的解决方案]
[问题b的解决方案]
[问题c的解决方案]
是。
答案 0 :(得分:1)
要回答queries from above
的事实,因为没有给出。
question_1(42).
question_2("Towel").
question_3("Thanks for all the fish.").
代码
answer :-
question_1(Answer_1),
format('Answer 1: ~w~n',[Answer_1]),
question_2(Answer_2),
format('Answer 2: ~w~n',[Answer_2]),
question_3(Answer_3),
format('Answer 3: ~w~n',[Answer_3]).
示例运行:
?- answer.
Answer 1: 42
Answer 2: Towel
Answer 3: Thanks for all the fish.
true.
笔记的唯一部分是format/2以打印答案。