从prolog程序输出prolog代码的最惯用方法是什么(作为副作用)?
例如,在一个简单的例子中,我可能希望编写一个程序,在给定文本输入的情况下,生成另一个Prolog程序,将文本表示为有向图。
我知道这个问题有点模糊,但我在现有的Prolog元编程文献中找不到令人满意的答案,主要涉及元循环解释器的应用,所以我只好去咨询Stackoverflow。
如果你觉得这个问题可能以其他方式表达得更好,请编辑它或留下评论。
发布于 2016-09-03 07:19:55
writeq/1 (或format('~q', [...]))产生可以读取的输出。通常,你也需要在从句体后面加上句号。例如,尝试
?- A_Clause = (X is 1+Y, write('X is '), write(X), nl), format('~q.~n', [A_Clause]).代码的可读性受到了变量“好名称”的影响,但是功能是存在的.
编辑
正如@false所指出的,如果输出项以点结束,点之前的空格将避免错误。
https://stackoverflow.com/questions/39301987
复制相似问题