Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# P#不在Visual Studio上工作_C#_Visual Studio_Prolog - Fatal编程技术网

C# P#不在Visual Studio上工作

C# P#不在Visual Studio上工作,c#,visual-studio,prolog,C#,Visual Studio,Prolog,这是我在C#main类上的代码 PrologInterface pInterface = new PrologInterface(); Term R = SymbolTerm.MakeSymbol("7"); Predicate pred = new Es_Mayor_1(R, new ReturnCs(pInterface)); pInterface.SetPredicate(pred); bool result = pInterface.Call(); 这是Prolog的源代码(“es m

这是我在C#main类上的代码

PrologInterface pInterface = new PrologInterface();
Term R = SymbolTerm.MakeSymbol("7");
Predicate pred = new Es_Mayor_1(R, new ReturnCs(pInterface));
pInterface.SetPredicate(pred);
bool result = pInterface.Call();
这是Prolog的源代码(“es mayor”在西班牙语中的意思是“更大”)。代码只有这两行

esMayor(X):-
    >(X, 5).
程序崩溃并出现未知异常,这似乎是因为它无法识别比较操作。我还尝试使用通用语法
X>5
,但仍然没有成功

An unhandled exception of type 'JJC.Psharp.Lang.PrologException' occurred in Psharp.dll

有什么我遗漏的吗?

看完文件后,我认为鲍里斯是对的,你应该写信

IntegerTerm R = new IntegerTerm(7);
而不是

Term R = SymbolTerm.MakeSymbol("7");

看完医生后,我认为鲍里斯是对的,你应该写信

IntegerTerm R = new IntegerTerm(7);
而不是

Term R = SymbolTerm.MakeSymbol("7");

如果在Visual Studio中的调试器下运行代码,是否会从异常中获得更多信息?在正常的Prolog中,
仅当两边都有数字(或算术表达式)时才起作用。你的
“7”
最终会变成别的东西吗?首先,你可以试着在你的Prolog代码中使用
X@>5
(它比较任意术语),或者干脆用
number(X)
,看看你的X在那一点上是否是一个数字。你能给出你的C程序的所有代码吗?是否有与之关联的Prolog程序?如果您在Visual Studio中的调试器下运行代码,是否会从异常中获得更多信息?在普通Prolog中,
仅当两边都有数字(或算术表达式)时才起作用。你的
“7”
最终会变成别的东西吗?首先,你可以试着在你的Prolog代码中使用
X@>5
(它比较任意术语),或者干脆用
number(X)
,看看你的X在那一点上是否是一个数字。你能给出你的C程序的所有代码吗?是否有与之关联的Prolog程序?如果您在Visual Studio中的调试器下运行代码,是否会从异常中获得更多信息?在普通Prolog中,
仅当两边都有数字(或算术表达式)时才起作用。你的
“7”
最终会变成别的东西吗?首先,你可以试着在你的Prolog代码中使用
X@>5
(它比较任意术语),或者干脆用
number(X)
,看看你的X在那一点上是否是一个数字。你能给出你的C程序的所有代码吗?是否有与之相关联的Prolog程序?