我有一个非常简单的方程,我希望能够在序言中解决:
A = B + C
我希望能够编写一个表达这种关系的谓词,它可以处理任何一个未被实例化的参数。无需推广到更复杂的关系或方程。
myEquation(A, B, C) :-
...something...
Run Code Online (Sandbox Code Playgroud)
我可以使用以下语义调用:
myEquation(A,1,2).
> A = 3.
myEquation(3,B,2).
> B = 1.
myEquation(3,1,C).
> C = 2.
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?使用算术运算符会产生很多“参数未充分实例化”的错误。看起来求解任意方程组超出了大多数 prolog 实现的范围,但我希望这个极其简单的方程易于处理。