【问题标题】:Feed the goal to Prolog from commandline从命令行向 Prolog 提供目标
【发布时间】:2013-11-14 23:47:39
【问题描述】:

标题说明了一切。我想编译一个程序(比如用 gplc)。然后将输入文件传递给它。程序将读取文件,进行一些计算并将输出写入另一个文件。在 C 中,我会这样做:

gcc -o prog prog.c
./prog input.txt output.txt

我可以在 Prolog 中做同样的事情吗?如果是,我如何从命令行读取输入参数?

谢谢。

【问题讨论】:

    标签: compilation prolog arguments


    【解决方案1】:

    这可能取决于您使用的实现,但有一个名为 current_prolog_flag/2(阅读手册)的内置函数可以像这样调用以访问传递给程序的命令行参数:

    ...
    current_prolog_flag(argv, Argv),
    ...
    

    Argv 将与代表命令行参数的原子列表统一。

    要告诉 Prolog 运行哪个目标,请再次查阅您正在使用的实现手册:

    http://gprolog.univ-paris1.fr/manual/html_node/gprolog009.html#sec18

    【讨论】:

    • 请注意,argv 不是标准标志,但是,Prolog 系统之间在这个标志和一般功能方面存在差异。请务必查阅您正在使用的 Prolog 系统的文档以了解详细信息。
    猜你喜欢
    • 2011-03-07
    • 2014-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    • 2014-10-17
    • 2020-12-07
    相关资源
    最近更新 更多