我正在寻找与perl -e
类似的swipl
功能。特别地,我想以这种方式运行Prolog代码:
swipl --wanted-flag "fact(a). message:-writeln('hello')." -g "message" -t halt
这是可以用以下方式实现的:
swipl -f file -g "message" -t halt
代码库使用file
文件编写prolog条款。
我在服务器端运行swipl,以prolog条款形式接受用户输入,因此在服务器上编写文件不是一个好主意。
read/1
等很容易),并使用assertz/1
插入子句。在你的例子中,预处理后最终调用SWI Prolog的方式可能是swipl -g "assertz(fact(a)), assertz(message :- writeln('hello')), message" -t halt
。 - mat