prolog中没有输出
我不熟悉Prolog,用它来解决一个密码算术问题CROSS+ROADS=DANGER。但是当代码运行时,没有输出。有人能告诉我程序出了什么问题吗?我会非常感激的 代码:prolog中没有输出,prolog,clpfd,cryptarithmetic-puzzle,prolog-toplevel,Prolog,Clpfd,Cryptarithmetic Puzzle,Prolog Toplevel,我不熟悉Prolog,用它来解决一个密码算术问题CROSS+ROADS=DANGER。但是当代码运行时,没有输出。有人能告诉我程序出了什么问题吗?我会非常感激的 代码: 如果您将SWI Prolog用作与swipl myScript.pl一起运行的脚本,我将使用SWI Prolog, 然后,您必须指定脚本的入口点,如下所示: :-initialization(myProgEntryPoint). % define thousand other predicates myProgEntryPo
如果您将SWI Prolog用作与swipl myScript.pl一起运行的脚本,我将使用SWI Prolog, 然后,您必须指定脚本的入口点,如下所示:
:-initialization(myProgEntryPoint).
% define thousand other predicates
myProgEntryPoint :- write("Do stuff"), halt.
重要的部分是:-initialization(…)。
和最后的halt
。如果要在运行脚本后进入交互式解释器,请删除halt
顺便说一句:您应该修复缩进,否则代码很快就会变得不可读。程序在运行时不产生任何输出的最可能原因是它没有运行 你一定要熟悉这本书
此外,有关详细信息,请参阅Prolog处理器的手册。move labeling/2在最后……标签应在约束之后而不是之前进行。将
标记([],谜题)
作为谓词中的最后一个语句,您将得到cru谜题(Foo)的解决方案。
:-initialization(myProgEntryPoint).
% define thousand other predicates
myProgEntryPoint :- write("Do stuff"), halt.
$ swipl --traditional
Welcome to SWI-Prolog (Multi-threaded, 64 bits, Version 7.3.4)
Copyright (c) 1990-2015 University of Amsterdam, VU Amsterdam
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details.
For help, use ?- help(Topic). or ?- apropos(Word).
?- compile(cr).
true.
?- cr_puzzle(P).
P = ([9, 6, 2, 3, 3]+[6, 2, 5, 1, 3]=[1, 5, 8, 7, 4, 6]) ;
false.