Bei der Erstellung und den nachfolgenden Code ausgeführt wird (pl_check_input.pl
), erhalte ich "user directive failed
" auf der ": - Initialisierung ..." lineGnu-prolog - Initialisierung Prädikat Fehler
:- 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
Wenn ich entfernen Sie die Codezeile
:- 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)
Alle Einsichten wären sehr willkommen.
Letztendlich habe ich diesen Code von der REPL
ausgeführt, aber ich möchte es in ein Linux-Pipeline-Skript einfügen und entfernen Sie die verschiedenen Banner-Zeilen, die mit Top-Level/0 kommen.
(dynamic/Initialisierungs/include sind auf separaten Leitungen) –
[MCVE] (/ help/MCVE), Bitte. – false