动态谓词 - 访问其内容

时间:2015-03-26 10:37:20

标签: list dynamic prolog predicate

我有一个动态谓词

:- dynamic example/1.

让我们说,我决定将其初始化为列表中的一对值

initialise_example(X,Y):- assert(example([(X,Y)])).

所以在控制台中,我会输入:

| ?- initialise_example(leftValue, rightValue).

然后这将向数据库保存一个事实:

example([leftValue,rightValue]).
yes

现在我的问题是,如何提取 leftValue 原子才能做到 有些操纵吗?假设 leftValue rightValue 是由多个原子组成的大数据库的一部分。

编辑:

我们说我的事实如下:

example([(leftValue,rightValue),(leftValue2,rightValue2),(leftValue3,rightValue3), . . . , (leftValueN,rightValueN)]).

我如何访问构成上述事实的列表的头部。

example([H|T]).

将用于另一个谓词,但它会存储example()的整个数据,直到另一个谓词完成它的进程。因此,不要让我在其他谓词中使用example()的更新数据。

0 个答案:

没有答案