从命令行将目标提供给Prolog

时间:2013-11-14 23:47:39

标签: compilation prolog arguments

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

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

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

感谢。

1 个答案:

答案 0 :(得分:1)

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

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

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

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

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