prolog - 访问 prolog 中的程序列表

标签 prolog

我在 SWI-Prolog 中定义变量时遇到一些奇怪(或不那么奇怪)的问题。示例:

我想做如下的事情:

:- initialization(main).

main :- 
X = listing(main),
write(X).

但它只是打印“listing(main)”

最佳答案

也许,使用另一个临时谓词而不是 main/0...

?- with_output_to(atom(X), listing(pattern)), write(X).
gram:pattern(A, B, C) :-
    dig(A, B, C).
gram:pattern(A+C, B, E) :-
    ten(A, B, D),
    dig(C, D, E).
...

关于prolog - 访问 prolog 中的程序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30820293/

相关文章:

prolog - 在 Prolog 中编辑 Eliza 聊天机器人

prolog - 如何在序言中轮换列表?

prolog - Prolog 谓词参数中实例化模式指示符的含义

database - Prolog:如何删除谓词中的对称值

prolog - 逻辑编程中如何处理重复更新?

prolog - 如何返回 alpha-beta 算法中的下一步?

prolog - 在 Prolog 中定义运算符

prolog - 使用 prolog 中的查询打印所有记录

generics - 序言中的 "Generic programming"

prolog - 如何在文件中使用 op/3