如何从XPCE的prolog谓词中读取
我有以下简单的序言谓词:
tst(In, Out) :- Out = In.
这个想法很清楚,只需按照“In”中的“Out”返回相同的内容即可。好的,现在我想在XPCE程序中包含这个prolog谓词。我创建了一个窗口,并添加了一个应该调用此prolog谓词的按钮,然后显示“Out”中返回的值。我认为实现这个任务就像这样简单
send(Dialog, append(button(execute_command, and(
message(@prolog, tst, InputText?selection, prolog(Output)),
message(@prolog, write, prolog(Output)),
message(@prolog, nl))))),
但不幸的是,这并不像我想要的那样完全正常。相反,它现在打印出“Out”的内部引用。例如:
?- _L204
任何想法在这里我的错误是什么?
没有找到相关结果
已邀请:
1 个回复
嘘伪
默认文字: 用户输入 程序通过从按钮调用的谓词发送到GUI的消息更新文本: 演示类:
按钮调用的代码:
主程序:
在看了演示并编写了这个演示之后,一旦我完成了对XPCE的学习,这是我的意见,这可能会改变:尽管有些可能通过来自XPCE的消息在Prolog中编程,查看演示代码,但这不是它的方式。编程是用Prolog或其他语言完成的,Prolog是胶水,而XPCE主要是被动GUI,有点像HTML表单。该程序创建XPCE对象,更改其状态并从中读取值。除了一些与GUI相关的小消息之外,XPCE通常不会写入程序;但即使这通常也是在XPCE对象的方法中完成的。