Prolog XPCE显示谓词

时间:2018-03-11 14:30:14

标签: prolog predicate assign xpce

您好我有程序(“专家程序”),其中用户选择几个按钮选项,此程序搜索带有此选中选项的谓词汽车。在此之后,我希望在窗口中显示这一个或多个谓词。这是几行计划。谓词格式:

Mobile: {
    required: function(element) {
    return (jQuery.isEmptyObject($("#Phone").val()));
    }
},
Phone: {
    required: function(element) {
        return (jQuery.isEmptyObject($("#Mobile").val()));
    }
}

auto(audi,a4,bialy,sedan,120).

我希望显示的片段:

auto(audi,a6,czerwony,sedan,160).

我试图将整个谓词分配给变量,我可能不会。如何以不同的方式查看此数据?

编辑:

我发现课程“findall()”有很多帮助:

 X=auto(Marka,_,Kolor,Nadwozie,Km),
send(Cars,append(text(X))),

现在没问题,在控制台工作中,但在XPCE中没有,Prolog在控制台中捕获错误:

错误:[Thread pce] char_array - > initialise:Argument 1(text):findall(Model,auto(Marka,Model,Kolor,Nadwozie,Km),X), send(Cars,append(char_array(X))), [a2,a3]'

现在怎么样?我认为错误在“char_array(X)”,但为什么这不起作用?

1 个答案:

答案 0 :(得分:0)

也许你可以试试

...
with_output_to(atom(X), write(auto(Marka,_,Kolor,Nadwozie,Km))),
send(Cars,append(text(X))),
...