如何使用SWI cs pl库从C#打印SWI Prolog查询的结果
我试图通过编写自己的小程序来理解SWICSPL库是如何工作的,但我无法打印查询的任何结果 我有以下代码:如何使用SWI cs pl库从C#打印SWI Prolog查询的结果,c#,prolog,swi-prolog,C#,Prolog,Swi Prolog,我试图通过编写自己的小程序来理解SWICSPL库是如何工作的,但我无法打印查询的任何结果 我有以下代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using SbsSW.SwiPlCs; namespace HolaMundo { class Program { stat
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SbsSW.SwiPlCs;
namespace HolaMundo
{
class Program
{
static void Main(string[] args)
{
if (!PlEngine.IsInitialized)
{
String[] param = { "-q" }; // suppressing informational and banner messages
PlEngine.Initialize(param);
PlQuery.PlCall("assert(father(hader, nevar))");
PlQuery.PlCall("assert(father(hader, sergio))");
PlQuery.PlCall("assert(brother(nevar, sergio):- father(hader, nevar), father(hader, sergio))");
//How do I write out in a Console the answer for a query like:
// brother(nevar, sergio)
PlEngine.PlCleanup();
}
}
}
}
正如我在代码中所说的,我只想查询一些基本的东西,比如:brother(nevar,sergio)。
并从控制台获得任何答案,比如true
或其他什么
有人能帮我吗 做
PlQuery.PlCall(“父亲(哈德,塞尔吉奥)”)代码>工作?不,没有。C#表示:未处理的异常:SbsSW.SwiPlCs.Exceptions.PlException:call/1:未定义的过程:父/2您可以尝试类似于var q=new PlQuery(“父(hader,sergio)”)然后Console.WriteLine(q.ToString())
或justplqueryq=newplquery(“父亲(哈德,塞尔吉奥)”)代码>它工作,但仅打印:SbsSW.SwiPlCs.PlQuery