PROLOG
我有一个条目的逻辑基础(存储在内存中),我必须将其转换为条目列表。
例:
| ?- rule(A,B).
A = member(_h209,[_h209|_h212])
B = true;
A = member(_h209,[_h211|_h212])
B = member(_h209,_h212);
自
[member(_h209,[_h209|_h212]),true,member(_h209,[_h211|_h212]),member(_h209,_h212);]
任何人都可以让我知道我如何得到它。
接近预期结果的内容(末尾的分号除外)可以是:
rule_list(Rules) :-
findall([A, B], rule(A, B), L),
flatten(L, Rules).
关于_h209的说明,出现在成员的第一个位置:我不确定您是否知道这些符号的含义。这些是变量,如果你有兴趣保留这些表达的身份,我的建议是不正确的。在这种情况下使用袋子。