如何将结果输出到shell?

布莱恩·麦克基

我有一个shell脚本script.sh:

#!/bin/bash
FIRST_ARGUMENT="$1"

swipl -s script4.pl $FIRST_ARGUMENT

prolog.pl:

:- initialization main.

query :-
        current_prolog_flag(argv, Argv),
        concat_atom(Argv, ' ', Atom),
        read_term_from_atom(Atom, Term, []),
        call(Term).

main :-
        catch(query, E, (print_message(error, E), fail)),
        halt.
main :-
        halt(1).

b(a).
a(c, d) :- writeln('I was called!').

现在,如果我从命令行调用脚本:

sh s.sh 'a(c,d).'

将输出"I was called!"

但是如果我运行一个查询,除了是/否答案:

sh s.sh 'b(a).'

它告诉我的是:script4.pl compiled 0.00 sec, 7 clauses当我想要的是“ true”时,因为发现了一个与输入匹配的事实。如何获得结果?

我想从Rake(一种Ruby衍生物)中查询我的Prolog程序。我以为脚本是实现此目的的简便方法,但可能不够强大?

一种简单的,公认的粗略方法是分别向writeln(true)writeln(false)的成功子句和失败子句main/0分别添加

main :- catch(query, E, (print_message(error, E), fail)),
        writeln(true),
        halt.
main :- writeln(false),
        halt(1).

虽然我确定还有更好的解决方案...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将结果输出到JSFiddle中的“结果”窗口?

来自分类Dev

如何将gulp结果输出到控制台?

来自分类Dev

如何将瓢虫查询结果输出到textFile

来自分类Dev

如何将gulp结果输出到控制台?

来自分类Dev

如何将awk结果输出到变量

来自分类Dev

如何将变量输出到文件?

来自分类Dev

Log4Net:如何将程序内的日志记录结果输出到变量中?

来自分类Dev

如何将嵌套列表中的collections.defaultdict(list)的结果输出到jinja中?

来自分类Dev

如何将MongoDB的find()的所有结果输出到jQuery的html()中?

来自分类Dev

如何将sql查询的结果输出到php的屏幕上

来自分类Dev

如何将结果输出到控制台或页面上

来自分类Dev

SQL Server 如何将多个结果输出到一个表中

来自分类Dev

如何将命令“ cal”的输出输出到csv。

来自分类Dev

如何将“ screen”内部的输出输出到脚本?

来自分类Dev

如何将mysql输出输出到php变量?

来自分类Dev

将结果输出到文件

来自分类Dev

如何将空手道测试结果输出到自定义文件夹而不是目标?

来自分类Dev

如何将PostgreSQL查询输出导出到csv文件

来自分类Dev

如何将整个git repo输出到单个文件?

来自分类Dev

如何将窗口输出到文本文件?

来自分类Dev

如何将NLTK块输出到文件?

来自分类Dev

如何将Lisp程序输出到Python?

来自分类Dev

如何将mysql查询输出到html表?

来自分类Dev

如何将打印功能输出到数据框中

来自分类Dev

如何将dtype输出到列表或Dict

来自分类Dev

如何将.html文件输出到.doc文件Django

来自分类Dev

dart:如何将流数据输出到websocket

来自分类Dev

如何将geom_raster()输出到栅格图像?

来自分类Dev

如何将数组的内容输出到HTML div容器?

Related 相关文章

热门标签

归档