【发布时间】:2017-10-31 16:32:15
【问题描述】:
在编译和运行下面的代码 (pl_check_input.pl) 时,我在“:-initialization...”行得到“user directive failed”
:- dynamic(doit/0).
:- initialization(doit).
:- include(head).
doit :-
readFB(user_input),
writeFB,
halt.
:- include(tail).
$ gplc --no-del-temp --no-top-level pl_check_input.pl
$ ./pl_check_input <fb1 >fb2
warning: /home/tarvydas/Dropbox/Projects/vsh/pl-vsh/pl_check_input.pl:2: user directive failed
如果我删除违规行
:- dynamic(doit/0).
:- include(head).
doit :-
readFB(user_input),
writeFB,
halt.
:- include(tail).
$ gplc --no-del-temp --no-top-level pl_check_input.pl
$ ./pl_check_input <fb1 >fb2
Warning: no initial goal executed
use a directive :- initialization(Goal)
or remove the link option --no-top-level (or --min-bips or --min-size)
非常欢迎任何见解。
最终,我从REPL 运行了这段代码,但我想把它放在一个 linux 管道脚本中,并删除顶级/0 附带的各种横幅行。
【问题讨论】:
-
(动态/初始化/包含在不同的行)
-
MCVE,请。