【发布时间】:2013-11-14 23:47:39
【问题描述】:
标题说明了一切。我想编译一个程序(比如用 gplc)。然后将输入文件传递给它。程序将读取文件,进行一些计算并将输出写入另一个文件。在 C 中,我会这样做:
gcc -o prog prog.c
./prog input.txt output.txt
我可以在 Prolog 中做同样的事情吗?如果是,我如何从命令行读取输入参数?
谢谢。
【问题讨论】:
标签: compilation prolog arguments
标题说明了一切。我想编译一个程序(比如用 gplc)。然后将输入文件传递给它。程序将读取文件,进行一些计算并将输出写入另一个文件。在 C 中,我会这样做:
gcc -o prog prog.c
./prog input.txt output.txt
我可以在 Prolog 中做同样的事情吗?如果是,我如何从命令行读取输入参数?
谢谢。
【问题讨论】:
标签: compilation prolog arguments
这可能取决于您使用的实现,但有一个名为 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 系统的文档以了解详细信息。