我可以使用swipl命令的输出并使用swi-prolog将其设置为变量的值吗?

问题描述

我正在尝试在shell和swi-prolog之间编写一个接口,所以我希望(最好)一次将文本排成一行,但我知道为什么可能不行。 Swi-prolog有一个shell谓词,它将提供一个shell命令的输出,但是我无法弄清楚如何将该输出设置为变量。 swipl获取输出并再次打印也可以。有什么想法吗?

解决方法

您的shell可以将其结果写入文件。然后调用您的swi-prolog prog,将文件内容读入字符串,然后根据自己的喜好重新格式化。例如。使用DCG之类的东西选择输出的一部分作为您的价值。

除非我对您的问题有错误的理解,否则您希望以另一种方式,将其序幕转至Shell。