prolog-assert

    5热度

    3回答

    从阅读手册,我似乎无法找到两者之间的区别。 手册上说: 它建议使用擦除动态谓词的所有条款retractall/1。 所以我选择在我的程序中使用retractall/1;不过,我想知道有什么不同。

    -1热度

    4回答

    我试图实现一个阶乘计算(n!)的解决方案,而不使用递归,只使用prolog的retroaction。例如: factorial(0, 1). factorial(1, 1). factorial(2, 2). retroaction(X, Y) :- factorial(K, Y), not(K = X), fail. retroaction(K, Y) :- factorial

    1热度

    1回答

    说我有事实是这样的: fact(abc,2). 我想是这样的(伪代码): fact_update(Functor,Name,AddToValue) :- if Fact_exist then update_fact : NewVal is CurrentValue + AddToValue else create_new_fact : Functor(Name,AddToV

    0热度

    1回答

    我需要从谓词列表中删除一个项目,但它不起作用。它对我来说仍然是真的,但该项目仍然存在。 代码: eliminar :- limpar, write('\n*** DELETAR ***\n'), write('O que deseja deletar ?\n'), pegarString(X), doenca(X), format('~Doença

    0热度

    1回答

    我是新来的Prolog,我很难用动态谓词。 首先,这里我执行 :- dynamic(list/1). add(X, LL) :- asserta(list([])), asserta(list(X)), retract(list(LL)). 代码我知道代码看起来怪异,但我只是在寻找使用正确的语法。 现在,如果我这样做: add(2,LL)。 答案将是: LL = 2; LL = []。 但

    4热度

    2回答

    我在七周内使用七种语言的Prolog教程,并尝试使用Android Jekejeke Runtime执行一些示例。 例如,如果我从教程添加 likes(wallace, grommit). ,我得到。 Error: Undefined, private or package local predicate likes/2 我尝试使用断言,如How to create a fact in S

    1热度

    1回答

    对不起,如果这是显而易见的,但我最近一直在学习prolog,并试图读入数据以用于推荐系统。 gifter :- write('how much money? '), read(money), nl, assert(will_spend(money)), write('Is the giftee classy? '), read(classy), nl. 上面的代码应

    0热度

    1回答

    我用csv_read_file读一个CSV文件,该文件是: CSV文件: "nsubj(love-1, carol-2)" "nsubj(like-3, carol-2)" 代码: csv_read_file('test.csv',L) 我得到如下东西: L = [row('nsubj(love-1, carol-2)'), row('nsubj(like-3, carol-2)')]

    4热度

    4回答

    我写了下面的程序,它计算输入数组最长的非递减子序列。 从列表中找到最长列表的子程序取自计算器(How do I find the longest list in a list of lists)本身。 :- dynamic lns/2. :- retractall(lns(_, _)). lns([], []). lns([X|_], [X]). lns([X|Xs], [X, Y|Ls

    1热度

    1回答

    我试图预先计算一些东西和我的节目开始将结果保存为事实:(简化代码) :- dynamic cost/2. %recipe(Id,Cost) recipe(1,20). recipe(2,40). assert_all :- recipe(Id,Cost), assert(cost(Id,Cost)). 但只有第一结果,当我在协商的Prolog SICStus文件成本(1,20)被断言